Initial autoconf support.

This commit is contained in:
Ryan C. Gordon 2002-05-10 09:25:25 +00:00
parent bd450d0e68
commit a2bec46a6b
16 changed files with 639 additions and 359 deletions

View File

@ -2,6 +2,10 @@
* CHANGELOG. * CHANGELOG.
*/ */
05102002 - A trimmed-down zlib 1.1.4 is now included in the source distro, for
use by win32, MacOS, and Unix systems that don't have it installed
on the system. Autoconf support! Initial attempt at this. Lots of
stuff may be very broken.
05082002 - From Greg: More win32 work. Library is now 95% functional on win32. 05082002 - From Greg: More win32 work. Library is now 95% functional on win32.
Only known win32 problem is that the CD drives are reported whether Only known win32 problem is that the CD drives are reported whether
they contain a disc or not). they contain a disc or not).

11
INSTALL
View File

@ -1,3 +1,14 @@
------------------------------------------------------------------------------
NOTE: THESE INSTRUCTIONS NEED TO BE UPDATED FOR THE NEW BUILD SYSTEM. THIS
AFFECTS UNIX, WIN32 AND MACOS!
Please bitch to Ryan (icculus@clutteredmind.org) until he updates this.
------------------------------------------------------------------------------
Building is (ahem) very easy. Building is (ahem) very easy.

889
Makefile
View File

@ -1,335 +1,564 @@
#-----------------------------------------------------------------------------# # Makefile.in generated automatically by automake 1.5 from Makefile.am.
# PhysicsFS -- A filesystem abstraction.
# # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Please see the file LICENSE in the source's root directory. # Free Software Foundation, Inc.
# This file written by Ryan C. Gordon. # This Makefile.in is free software; the Free Software Foundation
#-----------------------------------------------------------------------------# # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
#-----------------------------------------------------------------------------#
# Makefile for building PhysicsFS on Unix-like systems. Follow the
# instructions for editing this file, then run "make" on the command line.
#-----------------------------------------------------------------------------#
SHELL = /bin/sh
#-----------------------------------------------------------------------------# srcdir = .
# Set to your liking. top_srcdir = .
#-----------------------------------------------------------------------------#
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
libexecdir = ${exec_prefix}/libexec
datadir = ${prefix}/share
sysconfdir = ${prefix}/etc
sharedstatedir = ${prefix}/com
localstatedir = ${prefix}/var
libdir = ${exec_prefix}/lib
infodir = ${prefix}/info
mandir = ${prefix}/man
includedir = ${prefix}/include
oldincludedir = /usr/include
pkgdatadir = $(datadir)/physfs
pkglibdir = $(libdir)/physfs
pkgincludedir = $(includedir)/physfs
top_builddir = .
ACLOCAL = ${SHELL} /home/icculus/projects/physfs/missing --run aclocal
AUTOCONF = ${SHELL} /home/icculus/projects/physfs/missing --run autoconf
AUTOMAKE = ${SHELL} /home/icculus/projects/physfs/missing --run automake
AUTOHEADER = ${SHELL} /home/icculus/projects/physfs/missing --run autoheader
INSTALL = /usr/bin/ginstall -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_SCRIPT = ${INSTALL}
INSTALL_HEADER = $(INSTALL_DATA)
transform = s,x,x,
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias =
host_triplet = i686-pc-linux-gnu
AMTAR = ${SHELL} /home/icculus/projects/physfs/missing --run tar
AS = @AS@
AWK = gawk
BINARY_AGE = 0
CC = gcc CC = gcc
LINKER = gcc DEPDIR = .deps
DLLTOOL = @DLLTOOL@
ECHO = echo
#-----------------------------------------------------------------------------# EXEEXT =
# If this makefile fails to detect Cygwin correctly, or you want to force INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
# the build process's behaviour, set it to "true" or "false" (w/o quotes). INTERFACE_AGE = 0
#-----------------------------------------------------------------------------# LIBTOOL = $(SHELL) $(top_builddir)/libtool
#cygwin := true LN_S = ln -s
#cygwin := false LT_AGE = 0
cygwin := autodetect LT_CURRENT = 5
LT_RELEASE = 0.1
#-----------------------------------------------------------------------------# LT_REVISION = 0
# Set this to true if you want to create a debug build. MAJOR_VERSION = 0
#-----------------------------------------------------------------------------# MICRO_VERSION = 5
#debugging := false MINOR_VERSION = 1
debugging := true OBJDUMP = @OBJDUMP@
OBJEXT = o
#-----------------------------------------------------------------------------# PACKAGE = physfs
# Set the archive types you'd like to support. RANLIB = ranlib
# Note that various archives may need external libraries. STRIP = strip
#-----------------------------------------------------------------------------# VERSION = 0.1.5
use_archive_zip := true am__include = include
use_archive_grp := true am__quote =
install_sh = /home/icculus/projects/physfs/install-sh
#-----------------------------------------------------------------------------#
# Set to "true" if you'd like to build a DLL. Set to "false" otherwise. lib_LTLIBRARIES = libphysfs.la
#-----------------------------------------------------------------------------#
#build_dll := false SUBDIRS = platform archivers zlib114 . test
build_dll := true
libphysfsincludedir = $(includedir)
#-----------------------------------------------------------------------------# libphysfsinclude_HEADERS = \
# Set one of the below. Currently, none of these are used. physfs.h
#-----------------------------------------------------------------------------#
#use_asm = -DUSE_I386_ASM
use_asm = -DUSE_PORTABLE_C libphysfs_la_SOURCES = \
physfs.c \
physfs_internal.h \
#-----------------------------------------------------------------------------# physfs_byteorder.c
# Set this to where you want PhysicsFS installed. It will put the
# files in $(install_prefix)/bin, $(install_prefix)/lib, and
# $(install_prefix)/include ... #ZLIB_LIB = zlib114/libz.la
#-----------------------------------------------------------------------------# ZLIB_LIB =
install_prefix := /usr/local
libphysfs_la_LDFLAGS = \
-release $(LT_RELEASE) \
#-----------------------------------------------------------------------------# -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------# libphysfs_la_LIBADD = \
#-----------------------------------------------------------------------------# archivers/libarchivers.la \
# Everything below this line is probably okay. platform/libplatform.la \
#-----------------------------------------------------------------------------# $(ZLIB_LIB)
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------#
#-----------------------------------------------------------------------------# EXTRA_DIST = \
CREDITS \
#-----------------------------------------------------------------------------# LICENSE \
# CygWin autodetect. CHANGELOG \
#-----------------------------------------------------------------------------# INSTALL \
TODO
ifeq ($(strip $(cygwin)),autodetect)
ifneq ($(strip $(shell gcc -v 2>&1 |grep "cygwin")),) subdir = .
cygwin := true ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
else mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
cygwin := false CONFIG_HEADER = config.h
endif CONFIG_CLEAN_FILES =
endif LTLIBRARIES = $(lib_LTLIBRARIES)
#libphysfs_la_DEPENDENCIES = archivers/libarchivers.la \
#-----------------------------------------------------------------------------# # platform/libplatform.la zlib114/libz.la
# Platform-specific binary stuff. libphysfs_la_DEPENDENCIES = archivers/libarchivers.la \
#-----------------------------------------------------------------------------# platform/libplatform.la
am_libphysfs_la_OBJECTS = physfs.lo physfs_byteorder.lo
ifeq ($(strip $(cygwin)),true) libphysfs_la_OBJECTS = $(am_libphysfs_la_OBJECTS)
# !!! FIXME
build_dll := false DEFS = -DHAVE_CONFIG_H
# !!! FIXME DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
CPPFLAGS =
ASM = nasmw LDFLAGS =
EXE_EXT = .exe LIBS = -lreadline
DLL_EXT = .dll depcomp = $(SHELL) $(top_srcdir)/depcomp
STATICLIB_EXT = .a DEP_FILES = $(DEPDIR)/physfs.Plo \
ASMOBJFMT = win32 $(DEPDIR)/physfs_byteorder.Plo
ASMDEFS = -dC_IDENTIFIERS_UNDERSCORED COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
CFLAGS += -DC_IDENTIFIERS_UNDERSCORED $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
else LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
ASM = nasm $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
EXE_EXT = CCLD = $(CC)
DLL_EXT = .so LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
STATICLIB_EXT = .a $(AM_LDFLAGS) $(LDFLAGS) -o $@
ASMOBJFMT = elf CFLAGS = -g -O0 -Werror
endif DIST_SOURCES = $(libphysfs_la_SOURCES)
HEADERS = $(libphysfsinclude_HEADERS)
ifeq ($(strip $(build_dll)),true)
LIB_EXT := $(DLL_EXT)
SHAREDFLAGS += -shared RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
else uninstall-info-recursive all-recursive install-data-recursive \
LIB_EXT := $(STATICLIB_EXT) install-exec-recursive installdirs-recursive install-recursive \
endif uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = $(libphysfsinclude_HEADERS) ./stamp-h.in INSTALL \
#-----------------------------------------------------------------------------# Makefile.am Makefile.in TODO acconfig.h aclocal.m4 config.guess \
# Version crapola. config.h.in config.sub configure configure.in depcomp \
#-----------------------------------------------------------------------------# install-sh ltmain.sh missing mkinstalldirs
VERMAJOR := $(shell grep "define PHYSFS_VER_MAJOR" physfs.h | sed "s/\#define PHYSFS_VER_MAJOR //") DIST_SUBDIRS = $(SUBDIRS)
VERMINOR := $(shell grep "define PHYSFS_VER_MINOR" physfs.h | sed "s/\#define PHYSFS_VER_MINOR //") SOURCES = $(libphysfs_la_SOURCES)
VERPATCH := $(shell grep "define PHYSFS_VER_PATCH" physfs.h | sed "s/\#define PHYSFS_VER_PATCH //")
all: config.h
VERMAJOR := $(strip $(VERMAJOR)) $(MAKE) $(AM_MAKEFLAGS) all-recursive
VERMINOR := $(strip $(VERMINOR))
VERPATCH := $(strip $(VERPATCH)) .SUFFIXES:
.SUFFIXES: .c .lo .o .obj
VERFULL := $(VERMAJOR).$(VERMINOR).$(VERPATCH)
mostlyclean-libtool:
#-----------------------------------------------------------------------------# -rm -f *.lo
# General compiler, assembler, and linker flags.
#-----------------------------------------------------------------------------# clean-libtool:
-rm -rf .libs _libs
BINDIR := bin
SRCDIR := . distclean-libtool:
-rm -f libtool
CFLAGS += $(use_asm) -I$(SRCDIR) -I/usr/include/readline -D_REENTRANT -fsigned-char -DPLATFORM_UNIX $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
CFLAGS += -Wall -Werror -fno-exceptions -fno-rtti -ansi cd $(top_srcdir) && \
#-pedantic $(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
LDFLAGS += -lm cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
ifeq ($(strip $(debugging)),true) CONFIG_FILES=$@ $(SHELL) ./config.status
CFLAGS += -DDEBUG -g -fno-omit-frame-pointer
LDFLAGS += -g -fno-omit-frame-pointer $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
else $(SHELL) ./config.status --recheck
CFLAGS += -DNDEBUG -O2 -fomit-frame-pointer $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
LDFLAGS += -O2 -fomit-frame-pointer cd $(srcdir) && $(AUTOCONF)
endif
$(ACLOCAL_M4): configure.in
ASMFLAGS := -f $(ASMOBJFMT) $(ASMDEFS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h
TESTLDFLAGS := -lreadline @if test ! -f $@; then \
rm -f stamp-h; \
#-----------------------------------------------------------------------------# $(MAKE) stamp-h; \
# Source and target names. else :; fi
#-----------------------------------------------------------------------------# stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h stamp-hT
PUREBASELIBNAME := physfs @echo timestamp > stamp-hT 2> /dev/null
ifeq ($(strip $(cygwin)),true) cd $(top_builddir) \
BASELIBNAME := $(strip $(PUREBASELIBNAME)) && CONFIG_FILES= CONFIG_HEADERS=config.h \
else $(SHELL) ./config.status
BASELIBNAME := lib$(strip $(PUREBASELIBNAME)) @mv stamp-hT stamp-h
endif $(srcdir)/config.h.in: $(srcdir)/./stamp-h.in
@if test ! -f $@; then \
MAINLIB := $(BINDIR)/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)) rm -f $(srcdir)/./stamp-h.in; \
$(MAKE) $(srcdir)/./stamp-h.in; \
TESTSRCS := test/test_physfs.c else :; fi
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/acconfig.h
MAINSRCS := physfs.c physfs_byteorder.c archivers/dir.c @rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
ifeq ($(strip $(use_archive_zip)),true) cd $(top_srcdir) && $(AUTOHEADER)
MAINSRCS += archivers/zip.c archivers/unzip.c @mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
CFLAGS += -DPHYSFS_SUPPORTS_ZIP
LDFLAGS += -lz distclean-hdr:
ifeq ($(strip $(cygwin)),true) -rm -f config.h
EXTRABUILD += zlib114/zlib114.a install-libLTLIBRARIES: $(lib_LTLIBRARIES)
CFLAGS += -Izlib114 @$(NORMAL_INSTALL)
LDFLAGS += -Lzlib114 $(mkinstalldirs) $(DESTDIR)$(libdir)
endif @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
endif if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p"; \
ifeq ($(strip $(use_archive_grp)),true) $(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$p; \
MAINSRCS += archivers/grp.c else :; fi; \
CFLAGS += -DPHYSFS_SUPPORTS_GRP done
endif
uninstall-libLTLIBRARIES:
ifeq ($(strip $(cygwin)),true) @$(NORMAL_UNINSTALL)
MAINSRCS += platform/win32.c @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
CFLAGS += -DWIN32 echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
else $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
MAINSRCS += platform/unix.c done
endif
clean-libLTLIBRARIES:
TESTEXE := $(BINDIR)/test_physfs$(EXE_EXT) -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
libphysfs.la: $(libphysfs_la_OBJECTS) $(libphysfs_la_DEPENDENCIES)
# Rule for getting list of objects from source $(LINK) -rpath $(libdir) $(libphysfs_la_LDFLAGS) $(libphysfs_la_OBJECTS) $(libphysfs_la_LIBADD) $(LIBS)
MAINOBJS1 := $(MAINSRCS:.c=.o)
MAINOBJS2 := $(MAINOBJS1:.cpp=.o) mostlyclean-compile:
MAINOBJS3 := $(MAINOBJS2:.asm=.o) -rm -f *.$(OBJEXT) core *.core
MAINOBJS := $(foreach f,$(MAINOBJS3),$(BINDIR)/$(f))
MAINSRCS := $(foreach f,$(MAINSRCS),$(SRCDIR)/$(f)) distclean-compile:
-rm -f *.tab.c
TESTOBJS1 := $(TESTSRCS:.c=.o)
TESTOBJS2 := $(TESTOBJS1:.cpp=.o) include $(DEPDIR)/physfs.Plo
TESTOBJS3 := $(TESTOBJS2:.asm=.o) include $(DEPDIR)/physfs_byteorder.Plo
TESTOBJS := $(foreach f,$(TESTOBJS3),$(BINDIR)/$(f))
TESTSRCS := $(foreach f,$(TESTSRCS),$(SRCDIR)/$(f)) distclean-depend:
-rm -rf $(DEPDIR)
CLEANUP = $(wildcard *.exe) $(wildcard *.obj) \
$(wildcard $(BINDIR)/*.exe) $(wildcard $(BINDIR)/*.obj) \ .c.o:
$(wildcard *~) $(wildcard *.err) \ source='$<' object='$@' libtool=no \
$(wildcard .\#*) core depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
$(CCDEPMODE) $(depcomp) \
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
#-----------------------------------------------------------------------------#
# Rules. .c.obj:
#-----------------------------------------------------------------------------# source='$<' object='$@' libtool=no \
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
# Rules for turning source files into .o files $(CCDEPMODE) $(depcomp) \
$(BINDIR)/%.o: $(SRCDIR)/%.cpp $(COMPILE) -c `cygpath -w $<`
$(CC) -c -o $@ $< $(CFLAGS)
.c.lo:
$(BINDIR)/%.o: $(SRCDIR)/%.c source='$<' object='$@' libtool=yes \
$(CC) -c -o $@ $< $(CFLAGS) depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' \
$(CCDEPMODE) $(depcomp) \
$(BINDIR)/%.o: $(SRCDIR)/%.asm $(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
$(ASM) $(ASMFLAGS) -o $@ $< CCDEPMODE = depmode=gcc
uninstall-info-am:
.PHONY: all clean distclean listobjs install install-libphysfsincludeHEADERS: $(libphysfsinclude_HEADERS)
@$(NORMAL_INSTALL)
all: $(BINDIR) $(EXTRABUILD) $(MAINLIB) $(TESTEXE) $(mkinstalldirs) $(DESTDIR)$(libphysfsincludedir)
@list='$(libphysfsinclude_HEADERS)'; for p in $$list; do \
$(MAINLIB) : $(BINDIR) $(MAINOBJS) if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
$(LINKER) -o $(MAINLIB) $(SHAREDFLAGS) $(MAINOBJS) $(LDFLAGS) f="`echo $$p | sed -e 's|^.*/||'`"; \
echo " $(INSTALL_HEADER) $$d$$p $(DESTDIR)$(libphysfsincludedir)/$$f"; \
$(TESTEXE) : $(MAINLIB) $(TESTOBJS) $(INSTALL_HEADER) $$d$$p $(DESTDIR)$(libphysfsincludedir)/$$f; \
$(LINKER) -o $(TESTEXE) $(TESTOBJS) -L$(BINDIR) -l$(strip $(PUREBASELIBNAME)) $(LDFLAGS) $(TESTLDFLAGS) done
uninstall-libphysfsincludeHEADERS:
install: all @$(NORMAL_UNINSTALL)
rm -f $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERMAJOR)).$(strip $(VERMINOR)).* @list='$(libphysfsinclude_HEADERS)'; for p in $$list; do \
mkdir -p $(install_prefix)/bin f="`echo $$p | sed -e 's|^.*/||'`"; \
mkdir -p $(install_prefix)/lib echo " rm -f $(DESTDIR)$(libphysfsincludedir)/$$f"; \
mkdir -p $(install_prefix)/include rm -f $(DESTDIR)$(libphysfsincludedir)/$$f; \
cp $(SRCDIR)/physfs.h $(install_prefix)/include done
cp $(TESTEXE) $(install_prefix)/bin
ifeq ($(strip $(cygwin)),true) # This directory's subdirectories are mostly independent; you can cd
cp $(MAINLIB) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)) # into them and run `make' without going through this Makefile.
else # To change the values of `make' variables: instead of editing Makefiles,
cp $(MAINLIB) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) # (1) if the variable is set in `config.status', edit `config.status'
ln -sf $(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)) # (which will cause the Makefiles to be regenerated when you run `make');
ln -sf $(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERMAJOR)) # (2) otherwise, pass the desired values on the `make' command line.
chmod 0755 $(install_prefix)/lib/$(strip $(BASELIBNAME))$(strip $(LIB_EXT)).$(strip $(VERFULL)) $(RECURSIVE_TARGETS):
chmod 0644 $(install_prefix)/include/physfs.h @set fnord $(MAKEFLAGS); amf=$$2; \
endif dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
$(BINDIR): list='$(SUBDIRS)'; for subdir in $$list; do \
mkdir -p $(BINDIR) echo "Making $$target in $$subdir"; \
mkdir -p $(BINDIR)/archivers if test "$$subdir" = "."; then \
mkdir -p $(BINDIR)/platform dot_seen=yes; \
mkdir -p $(BINDIR)/test local_target="$$target-am"; \
else \
local_target="$$target"; \
ifeq ($(strip $(cygwin)),true) fi; \
zlib114/zlib114.a: (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
cd zlib114 ; $(MAKE) CC=$(CC) || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
endif done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
distclean: clean fi; test -z "$$fail"
clean: mostlyclean-recursive clean-recursive distclean-recursive \
rm -f $(CLEANUP) maintainer-clean-recursive:
rm -rf $(BINDIR) @set fnord $(MAKEFLAGS); amf=$$2; \
ifeq ($(strip $(cygwin)),true) dot_seen=no; \
cd zlib114 ; $(MAKE) clean case "$@" in \
endif distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
listobjs: esac; \
@echo SOURCES: rev=''; for subdir in $$list; do \
@echo $(MAINSRCS) if test "$$subdir" = "."; then :; else \
@echo rev="$$subdir $$rev"; \
@echo OBJECTS: fi; \
@echo $(MAINOBJS) done; \
@echo rev="$$rev ."; \
@echo BINARIES: target=`echo $@ | sed s/-recursive//`; \
@echo $(MAINLIB) for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
showcfg: if test "$$subdir" = "."; then \
@echo "Using CygWin : $(cygwin)" local_target="$$target-am"; \
@echo "Debugging : $(debugging)" else \
@echo "ASM flag : $(use_asm)" local_target="$$target"; \
@echo "Building DLLs : $(build_dll)" fi; \
@echo "Install prefix : $(install_prefix)" (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
@echo "PhysFS version : $(VERFULL)" || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
@echo "Supports .GRP : $(use_archive_grp)" done && test -z "$$fail"
@echo "Supports .ZIP : $(use_archive_zip)" tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
#-----------------------------------------------------------------------------# test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
# This section is pretty much just for Ryan's use to make distributions. done
# You Probably Should Not Touch.
#-----------------------------------------------------------------------------# tags: TAGS
# These are the files needed in a binary distribution, regardless of what ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
# platform is being used. list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
BINSCOMMON := LICENSE.TXT physfs.h unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
.PHONY: package msbins win32bins nocygwin done | \
package: clean $(AWK) ' { files[$$0] = 1; } \
cd .. ; mv physfs physfs-$(VERFULL) ; tar -czvvf ./physfs-$(VERFULL).tar.gz --exclude="*CVS*" physfs-$(VERFULL) ; mv physfs-$(VERFULL) physfs END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
ifeq ($(strip $(cygwin)),true) TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
msbins: win32bins $(TAGS_FILES) $(LISP)
tags=; \
win32bins: clean all here=`pwd`; \
echo -e "\r\n\r\n\r\nHEY YOU.\r\n\r\n\r\nTake a look at README-win32bins.txt FIRST.\r\n\r\n\r\n--ryan. (icculus@clutteredmind.org)\r\n\r\n" |zip -9rz ../physfs-win32bins-$(shell date +%m%d%Y).zip $(MAINLIB) $(EXTRAPACKAGELIBS) README-win32bins.txt list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
else test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
msbins: nocygwin done; \
win32bins: nocygwin list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
nocygwin: if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
@echo This must be done on a Windows box in the Cygwin environment. done | \
$(AWK) ' { files[$$0] = 1; } \
endif END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
#-----------------------------------------------------------------------------# || etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
# That's all, folks.
#-----------------------------------------------------------------------------# GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
# end of Makefile ... && cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION)
GZIP_ENV = --best
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \
exit 1) ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
&& rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
installdirs: installdirs-recursive
installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(libphysfsincludedir)
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive
-rm -f config.status config.cache config.log
distclean-am: clean-am distclean-compile distclean-depend \
distclean-generic distclean-hdr distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
info: info-recursive
info-am:
install-data-am: install-libphysfsincludeHEADERS
install-exec-am: install-libLTLIBRARIES
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
uninstall-libphysfsincludeHEADERS
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-libLTLIBRARIES clean-libtool \
clean-recursive dist dist-all distcheck distclean \
distclean-compile distclean-depend distclean-generic \
distclean-hdr distclean-libtool distclean-recursive \
distclean-tags distdir dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-libLTLIBRARIES \
install-libphysfsincludeHEADERS install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive tags tags-recursive uninstall \
uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-libLTLIBRARIES uninstall-libphysfsincludeHEADERS \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

1
TODO
View File

@ -4,6 +4,7 @@ These are in no particular order. A 1.0 release is reliant on doing most of
this stuff. Some might be dupes, some might be done already. this stuff. Some might be dupes, some might be done already.
- autoconf support? - autoconf support?
- Include the Visual Studio (6 and .NET) project files in CVS directly.
- update the Makefile so that Cygwin can generate a DLL. The entire codebase - update the Makefile so that Cygwin can generate a DLL. The entire codebase
compiles under Cygwin otherwise. compiles under Cygwin otherwise.
- Hmm...we can determine the actual CD-ROM drives under Win32, but how do you - Hmm...we can determine the actual CD-ROM drives under Win32, but how do you

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>

View File

@ -28,6 +28,12 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if (defined PHYSFS_SUPPORTS_GRP)
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -39,10 +45,6 @@
#define __PHYSICSFS_INTERNAL__ #define __PHYSICSFS_INTERNAL__
#include "physfs_internal.h" #include "physfs_internal.h"
#if (!defined PHYSFS_SUPPORTS_GRP)
#error PHYSFS_SUPPORTS_GRP must be defined.
#endif
typedef struct typedef struct
{ {
void *handle; void *handle;
@ -438,5 +440,7 @@ static FileHandle *GRP_openRead(DirHandle *h, const char *name)
return(retval); return(retval);
} /* GRP_openRead */ } /* GRP_openRead */
#endif /* defined PHYSFS_SUPPORTS_GRP */
/* end of grp.c ... */ /* end of grp.c ... */

View File

@ -4,6 +4,11 @@
Read unzip.h for more info Read unzip.h for more info
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if (defined PHYSFS_SUPPORTS_ZIP)
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -14,10 +19,6 @@
#define __PHYSICSFS_INTERNAL__ #define __PHYSICSFS_INTERNAL__
#include "physfs_internal.h" #include "physfs_internal.h"
#if (!defined PHYSFS_SUPPORTS_ZIP)
#error PHYSFS_SUPPORTS_ZIP must be defined.
#endif
#ifdef STDC #ifdef STDC
# include <stddef.h> # include <stddef.h>
# include <string.h> # include <string.h>
@ -1317,3 +1318,7 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf)
return (int)uReadThis; return (int)uReadThis;
} }
#endif /* defined PHYSFS_SUPPORTS_ZIP */
/* end of unzip.c ... */

View File

@ -6,6 +6,12 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if (defined PHYSFS_SUPPORTS_ZIP)
/* /*
* !!! FIXME: overall design bugs. * !!! FIXME: overall design bugs.
* *
@ -27,10 +33,6 @@
#define __PHYSICSFS_INTERNAL__ #define __PHYSICSFS_INTERNAL__
#include "physfs_internal.h" #include "physfs_internal.h"
#if (!defined PHYSFS_SUPPORTS_ZIP)
#error PHYSFS_SUPPORTS_ZIP must be defined.
#endif
#define MAXZIPENTRYSIZE 256 #define MAXZIPENTRYSIZE 256
typedef struct typedef struct
@ -670,5 +672,7 @@ static void ZIP_dirClose(DirHandle *h)
free(h); free(h);
} /* ZIP_dirClose */ } /* ZIP_dirClose */
#endif /* defined PHYSFS_SUPPORTS_ZIP */
/* end of zip.c ... */ /* end of zip.c ... */

View File

@ -15,7 +15,7 @@ dnl ---------------------------------------------------------------------
MAJOR_VERSION=0 MAJOR_VERSION=0
MINOR_VERSION=1 MINOR_VERSION=1
MICRO_VERSION=6 MICRO_VERSION=5
INTERFACE_AGE=0 INTERFACE_AGE=0
BINARY_AGE=0 BINARY_AGE=0
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION

View File

@ -8,6 +8,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>

View File

@ -8,6 +8,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h> #include <assert.h>

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <alloca.h> #include <alloca.h>

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#define __PHYSICSFS_INTERNAL__ #define __PHYSICSFS_INTERNAL__
#include "physfs_internal.h" #include "physfs_internal.h"

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if ((defined __APPLE__) && (defined __MACH__)) #if ((defined __APPLE__) && (defined __MACH__))
# if (!defined __DARWIN__) # if (!defined __DARWIN__)
# define __DARWIN__ # define __DARWIN__

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon, and made sane by Gregory S. Read. * This file written by Ryan C. Gordon, and made sane by Gregory S. Read.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <windows.h> #include <windows.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -6,6 +6,10 @@
* This file written by Ryan C. Gordon. * This file written by Ryan C. Gordon.
*/ */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <errno.h> #include <errno.h>
@ -15,20 +19,10 @@
#include <SIOUX.h> #include <SIOUX.h>
#endif #endif
#if ((defined __APPLE__) && (defined __MACH__)) #if (defined PHYSFS_HAVE_READLINE)
# if (!defined __DARWIN__)
# define __DARWIN__
# endif
#endif
#if ((!defined WIN32) && (!defined __MACOS__) && (!defined __DARWIN__))
#define HAVE_READLINE
#endif
#if (defined HAVE_READLINE)
#include <unistd.h> #include <unistd.h>
#include <readline.h> #include <readline/readline.h>
#include <history.h> #include <readline/history.h>
#endif #endif
#include "physfs.h" #include "physfs.h"
@ -725,7 +719,7 @@ static int process_command(char *complete_cmd)
if (i->cmd == NULL) if (i->cmd == NULL)
printf("Unknown command. Enter \"help\" for instructions.\n"); printf("Unknown command. Enter \"help\" for instructions.\n");
#if (defined HAVE_READLINE) #if (defined PHYSFS_HAVE_READLINE)
add_history(complete_cmd); add_history(complete_cmd);
if (history_file) if (history_file)
{ {
@ -743,7 +737,7 @@ static int process_command(char *complete_cmd)
static void open_history_file(void) static void open_history_file(void)
{ {
#if (defined HAVE_READLINE) #if (defined PHYSFS_HAVE_READLINE)
#if 0 #if 0
const char *envr = getenv("TESTPHYSFS_HISTORY"); const char *envr = getenv("TESTPHYSFS_HISTORY");
if (!envr) if (!envr)
@ -820,7 +814,7 @@ int main(int argc, char **argv)
do do
{ {
#if (defined HAVE_READLINE) #if (defined PHYSFS_HAVE_READLINE)
buf = readline("> "); buf = readline("> ");
#else #else
int i; int i;