new package physfs

This commit is contained in:
Tony Theodore 2011-03-04 01:28:53 +11:00
parent e8eb822a50
commit 002a50a2e2
2 changed files with 84 additions and 0 deletions

39
src/physfs-test.c Normal file
View File

@ -0,0 +1,39 @@
/* This file is part of mingw-cross-env. */
/* See doc/index.html for further information. */
/* modified from test/physfs_test.c */
#include "physfs.h"
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
(void)argc;
(void)argv;
PHYSFS_Version compiled;
PHYSFS_VERSION(&compiled);
printf("Compiled against PhysicsFS version %d.%d.%d\n\n",
(int) compiled.major, (int) compiled.minor, (int) compiled.patch);
const PHYSFS_ArchiveInfo **rc;
const PHYSFS_ArchiveInfo **i;
rc = PHYSFS_supportedArchiveTypes();
printf("Supported archive types:\n");
if (*rc == NULL)
printf(" * Apparently, NONE!\n");
else
{
for (i = rc; *i != NULL; i++)
{
printf(" * %s: %s\n Written by %s.\n %s\n",
(*i)->extension, (*i)->description,
(*i)->author, (*i)->url);
} /* for */
} /* else */
return 0;
}

45
src/physfs.mk Normal file
View File

@ -0,0 +1,45 @@
# This file is part of mingw-cross-env.
# See doc/index.html for further information.
# physfs
PKG := physfs
$(PKG)_IGNORE :=
$(PKG)_VERSION := 2.0.2
$(PKG)_CHECKSUM := 2d3d3cc819ad26542d34451f44050b85635344d0
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $($(PKG)_SUBDIR).tar.gz
$(PKG)_WEBSITE := http://icculus.org/physfs/
$(PKG)_URL := http://icculus.org/physfs/downloads/$($(PKG)_FILE)
$(PKG)_DEPS := gcc zlib
define $(PKG)_UPDATE
wget -q -O- 'http://icculus.org/physfs/downloads/?M=D' | \
$(SED) -n 's,.*<a href="physfs-\([0-9][^"]*\)\.tar.*,\1,pI' | \
head -1
endef
define $(PKG)_BUILD
cd '$(1)' && cmake . \
-DCMAKE_SYSTEM_NAME=Windows \
-DCMAKE_FIND_ROOT_PATH='$(PREFIX)/$(TARGET)' \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_C_COMPILER='$(PREFIX)/bin/$(TARGET)-gcc' \
-DCMAKE_CXX_COMPILER='$(PREFIX)/bin/$(TARGET)-g++' \
-DCMAKE_CXX_FLAGS=-D__STDC_CONSTANT_MACROS \
-DCMAKE_INCLUDE_PATH='$(PREFIX)/$(TARGET)/include' \
-DCMAKE_LIB_PATH='$(PREFIX)/$(TARGET)/lib' \
-DCMAKE_INSTALL_PREFIX='$(PREFIX)/$(TARGET)' \
-DCMAKE_BUILD_TYPE=Release \
-DPHYSFS_BUILD_SHARED=FALSE \
-DPHYSFS_INTERNAL_ZLIB=FALSE \
-DPHYSFS_BUILD_TEST=FALSE \
-DPHYSFS_BUILD_WX_TEST=FALSE
$(MAKE) -C '$(1)' -j '$(JOBS)' install
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic -std=c99\
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-physfs.exe' \
-lphysfs -lz
endef