Date: Fri, 7 Feb 2014 13:12:38 +0000 (UTC) From: Martin Wilke <miwi@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r343235 - in head/emulators/cygne-sdl: . files Message-ID: <201402071312.s17DCcrs024374@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: miwi Date: Fri Feb 7 13:12:37 2014 New Revision: 343235 URL: http://svnweb.freebsd.org/changeset/ports/343235 QAT: https://qat.redports.org/buildarchive/r343235/ Log: - Fix build - Add LICENSE - Stage support PR: 185705 Submitted by: Ports Fury Added: head/emulators/cygne-sdl/files/patch-src__mainsdl.cpp (contents, props changed) head/emulators/cygne-sdl/files/patch-src__zlib__unzip.h (contents, props changed) Deleted: head/emulators/cygne-sdl/pkg-plist Modified: head/emulators/cygne-sdl/Makefile head/emulators/cygne-sdl/files/Makefile.bsd head/emulators/cygne-sdl/files/patch-src-ddrawsdl.cpp head/emulators/cygne-sdl/pkg-descr Modified: head/emulators/cygne-sdl/Makefile ============================================================================== --- head/emulators/cygne-sdl/Makefile Fri Feb 7 13:11:08 2014 (r343234) +++ head/emulators/cygne-sdl/Makefile Fri Feb 7 13:12:37 2014 (r343235) @@ -9,18 +9,34 @@ MASTER_SITES= http://sdlemu.ngemu.com/Op DISTNAME= Cygne-SDL-${PORTVERSION}-src MAINTAINER= ports@FreeBSD.org -COMMENT= The SDL port of Cygne, a free Bandai Wonderswan emulator +COMMENT= SDL port of Cygne, a free Bandai Wonderswan emulator + +LICENSE= GPLv2 + +WRKSRC= ${WRKDIR}/Cygne-SDL-${PORTVERSION}/src USE_SDL= sdl -USE_GMAKE= yes -ONLY_FOR_ARCHS= i386 -WRKSRC= ${WRKDIR}/Cygne-SDL-${PORTVERSION}/src -NO_STAGE= yes +PLIST_FILES= bin/cygne + +OPTIONS_DEFINE_i386= OPTIMIZED_CFLAGS +OPTIONS_DEFAULT_i386= OPTIMIZED_CFLAGS +OPTIMIZED_CFLAGS_CFLAGS=\ + -fomit-frame-pointer -fexpensive-optimizations \ + -funroll-loops -funroll-all-loops -fschedule-insns2 \ + -fstrength-reduce -malign-double -mfancy-math-387 \ + -ffast-math -fforce-addr + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "i386" +USE_GCC= any +.endif + post-patch: ${CP} ${FILESDIR}/Makefile.bsd ${WRKSRC}/Makefile do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/cygne ${PREFIX}/bin + (cd ${WRKSRC} && ${INSTALL_PROGRAM} cygne ${STAGEDIR}${PREFIX}/bin) -.include <bsd.port.mk> +.include <bsd.port.post.mk> Modified: head/emulators/cygne-sdl/files/Makefile.bsd ============================================================================== --- head/emulators/cygne-sdl/files/Makefile.bsd Fri Feb 7 13:11:08 2014 (r343234) +++ head/emulators/cygne-sdl/files/Makefile.bsd Fri Feb 7 13:12:37 2014 (r343235) @@ -1,22 +1,11 @@ -LD = ${CXX} +NASM = nasm ### Include and lib stuff #### -#STDINCLUDE = /usr/include -#STDLIB = /usr/lib -#SDLINCLUDE = /usr/local/include/SDL -#SDLLIB = /usr/local/lib - -CFLAGS+= -DUNIX -DTARGET_UNIX -DGCC -DUSES_16BIT_ONLY -D__SDL__ -fomit-frame-pointer \ - -fexpensive-optimizations -funroll-loops -funroll-all-loops -pipe \ - -fschedule-insns2 -fstrength-reduce -malign-double -mfancy-math-387 -ffast-math -fforce-addr \ - -fforce-mem `${SDL_CONFIG} --cflags`# \ -# -L$(STDLIB) -L$(SDLLIB) -I$(STDINCLUDE) -I$(SDLINCLUDE) - -#LDFLAGS = $(CFLAGS) +CPPFLAGS+= -DUNIX -DTARGET_UNIX -DGCC -DUSES_16BIT_ONLY -D__SDL__ TARGET = cygne -OBJ = ddrawsdl.o filessdl.o gfx.o nec.o tcache.o memory.o mainsdl.o zlib/unzip.o +OBJ = ddrawsdl.o filessdl.o gfx.o nec.o tcache.o memory.o mainsdl.o unzip.o LIBS = `${SDL_CONFIG} --libs` -lz @@ -24,20 +13,25 @@ all: $(TARGET) INCS = -I. `${SDL_CONFIG} --cflags` -THECC = $(CC) $(CFLAGS) $(INCS) -THECXX = $(CXX) $(CFLAGS) $(INCS) +THECC = $(CC) $(CFLAGS) $(INCS) $(CPPFLAGS) +THECXX = $(CXX) $(CXXFLAGS) $(INCS) $(CPPFLAGS) + +.SUFFIXES: .asm -%.o: %.asm +.asm.o: $(NASM) -f elf -o $@ $< -%.o: %.c +.c.o: $(THECC) -c $< -o $@ -%.o: %.cpp +.cpp.o: $(THECXX) -c $< -o $@ +unzip.o: + $(THECC) -c zlib/unzip.c -o $@ + cygne: $(OBJ) Makefile - $(LD) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) + $(CXX) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) clean: rm -f cygne *.o zlib/*.o Modified: head/emulators/cygne-sdl/files/patch-src-ddrawsdl.cpp ============================================================================== --- head/emulators/cygne-sdl/files/patch-src-ddrawsdl.cpp Fri Feb 7 13:11:08 2014 (r343234) +++ head/emulators/cygne-sdl/files/patch-src-ddrawsdl.cpp Fri Feb 7 13:12:37 2014 (r343235) @@ -1,19 +1,30 @@ --- ddrawsdl.cpp.orig Tue Mar 26 09:02:25 2002 +++ ddrawsdl.cpp Thu May 4 18:18:12 2006 -@@ -174,67 +174,67 @@ +@@ -12,6 +12,7 @@ + */ + + #include <SDL.h> ++#include <assert.h> + #include "globals.h" + #include "gfx.h" + +@@ -174,69 +175,83 @@ void UpdateFrame_h() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep -- movsw" -+ __asm__ __volatile__(".align 32\n\t" -+ "cld\n\t" -+ "rep\n\t" -+ "movsw" ++#if defined(__i386__) || defined(__amd64__) || defined(__x86_64__) ++ __asm__ __volatile__(".align 32\n\ ++ cld\n\ ++ rep\n\ + movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); ++#else ++ memcpy(g_pDDSPrimary->pixels, dx_buffer, g_pDDSPrimary->h * g_pDDSPrimary->pitch); ++#endif break; case 2: - __asm__ __volatile__("pusha @@ -39,33 +50,37 @@ - leal (%1, %2, 4), %1 - jnz sum - emms -- popa" -+ __asm__ __volatile__("pusha\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "movl $448, %%ebx\n\t" -+ "emms\n\t" -+ "sum:\n\t" -+ "movq (%0, %%eax, 1), %%mm0\n\t" -+ "movq %%mm0, %%mm1\n\t" -+ "punpcklwd %%mm0, %%mm0\n\t" -+ "addl $8, %%eax\n\t" -+ "punpckhwd %%mm1,%%mm1\n\t" -+ "movq %%mm0, -16(%1, %%eax, 2)\n\t" -+ "cmpl %%ebx, %%eax\n\t" -+ -+ "movq %%mm1, -8(%1, %%eax, 2)\n\t" -+ "jnz sum\n\t" -+ "xorl %%eax, %%eax\n\t" -+ -+ "addl %2, %0\n\t" -+ "decl %%edx\n\t" -+ -+ "leal (%1, %2, 4), %1\n\t" -+ "jnz sum\n\t" -+ "emms\n\t" -+ "popa" ++#if defined(__i386__) ++ __asm__ __volatile__("pusha\n\ ++ xorl %%eax, %%eax\n\ ++ movl $448, %%ebx \n\ ++ emms\n\ ++ sum:\n\ ++ movq (%0, %%eax, 1), %%mm0\n\ ++ movq %%mm0, %%mm1\n\ ++ punpcklwd %%mm0, %%mm0\n\ ++ addl $8, %%eax\n\ ++ punpckhwd %%mm1,%%mm1\n\ ++ movq %%mm0, -16(%1, %%eax, 2)\n\ ++ cmpl %%ebx, %%eax\n\ ++ \n\ ++ movq %%mm1, -8(%1, %%eax, 2)\n\ ++ jnz sum\n\ ++ xorl %%eax, %%eax\n\ ++ \n\ ++ addl %2, %0\n\ ++ decl %%edx\n\ ++ \n\ ++ leal (%1, %2, 4), %1\n\ ++ jnz sum\n\ ++ emms\n\ + popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); ++#else ++ /* If you put real code here, enable the corresponding option in main() */ ++ assert(0); ++#endif break; case 3: @@ -92,48 +107,57 @@ - leal (%1, %2, 4), %1 - jnz sum3 - emms -- popa" -+ __asm__ __volatile__("pusha\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "movl $896, %%ebx\n\t" -+ "emms\n" -+ "sum3:\n\t" -+ "movq (%0, %%eax, 1), %%mm0\n\t" -+ "movq %%mm0, %%mm1\n\t" -+ "punpcklwd %%mm0, %%mm0\n\t" -+ "addl $8, %%eax\n\t" -+ "punpckhwd %%mm1,%%mm1\n\t" -+ "movq %%mm0, -16(%1, %%eax, 2)\n\t" -+ "cmpl %%ebx, %%eax\n\t" -+ "\n\t" -+ "movq %%mm1, -8(%1, %%eax, 2)\n\t" -+ "jnz sum3\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "\n\t" -+ "addl %2, %0\n\t" -+ "decl %%edx\n\t" -+ "\n\t" -+ "leal (%1, %2, 4), %1\n\t" -+ "jnz sum3\n\t" -+ "emms\n\t" -+ "popa" ++#if defined(__i386__) ++ __asm__ __volatile__("pusha\n\ ++ xorl %%eax, %%eax\n\ ++ movl $896, %%ebx \n\ ++ emms\n\ ++ sum3:\n\ ++ movq (%0, %%eax, 1), %%mm0\n\ ++ movq %%mm0, %%mm1\n\ ++ punpcklwd %%mm0, %%mm0\n\ ++ addl $8, %%eax\n\ ++ punpckhwd %%mm1,%%mm1\n\ ++ movq %%mm0, -16(%1, %%eax, 2)\n\ ++ cmpl %%ebx, %%eax\n\ ++ \n\ ++ movq %%mm1, -8(%1, %%eax, 2)\n\ ++ jnz sum3\n\ ++ xorl %%eax, %%eax\n\ ++ \n\ ++ addl %2, %0\n\ ++ decl %%edx\n\ ++ \n\ ++ leal (%1, %2, 4), %1\n\ ++ jnz sum3\n\ ++ emms\n\ + popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(144)); ++#else ++ /* If you put real code here, enable the corresponding option in main() */ ++ assert(0); ++#endif break; -@@ -418,66 +418,66 @@ + } + //Niels(adjust to suit) use the asm below, or use standard memcpy/fast_memcpy etc, updateframe_v is not implemented +@@ -418,68 +433,82 @@ void UpdateFrame_v() { switch(fBlitterMode) { case 1: - __asm__ __volatile__(".align 32 - cld - rep -- movsw" -+ __asm__ __volatile__(".align 32\n\t" -+ "cld\n\t" -+ "rep\n\t" -+ "movsw" ++#if defined(__i386__) || defined(__amd64__) || defined(__x86_64__) ++ __asm__ __volatile__(".align 32\n\ ++ cld\n\ ++ rep\n\ + movsw" : :"S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"((g_pDDSPrimary->h * g_pDDSPrimary->pitch)>>1)); ++#else ++ memcpy(g_pDDSPrimary->pixels, dx_buffer, g_pDDSPrimary->h * g_pDDSPrimary->pitch); ++#endif break; case 2: // double scanlines - __asm__ __volatile__("pusha @@ -159,33 +183,37 @@ - leal (%1, %2, 4), %1 - jnz sumb - emms -- popa" -+ __asm__ __volatile__("pusha\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "movl $288, %%ebx\n\t" -+ "emms\n" -+ "sumb:\n\t" -+ "movq (%0, %%eax, 1), %%mm0\n\t" -+ "movq %%mm0, %%mm1\n\t" -+ "punpcklwd %%mm0, %%mm0\n\t" -+ "addl $8, %%eax\n\t" -+ "punpckhwd %%mm1,%%mm1\n\t" -+ "movq %%mm0, -16(%1, %%eax, 2)\n\t" -+ "cmpl %%ebx, %%eax\n\t" -+ "\n\t" -+ "movq %%mm1, -8(%1, %%eax, 2)\n\t" -+ "jnz sumb\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "\n\t" -+ "addl %2, %0\n\t" -+ "decl %%edx\n\t" -+ "\n\t" -+ "leal (%1, %2, 4), %1\n\t" -+ "jnz sumb\n\t" -+ "emms\n\t" -+ "popa" ++#if defined(__i386__) ++ __asm__ __volatile__("pusha\n\ ++ xorl %%eax, %%eax\n\ ++ movl $288, %%ebx \n\ ++ emms\n\ ++ sumb:\n\ ++ movq (%0, %%eax, 1), %%mm0\n\ ++ movq %%mm0, %%mm1\n\ ++ punpcklwd %%mm0, %%mm0\n\ ++ addl $8, %%eax\n\ ++ punpckhwd %%mm1,%%mm1\n\ ++ movq %%mm0, -16(%1, %%eax, 2)\n\ ++ cmpl %%ebx, %%eax\n\ ++ \n\ ++ movq %%mm1, -8(%1, %%eax, 2)\n\ ++ jnz sumb\n\ ++ xorl %%eax, %%eax\n\ ++ \n\ ++ addl %2, %0\n\ ++ decl %%edx\n\ ++ \n\ ++ leal (%1, %2, 4), %1\n\ ++ jnz sumb\n\ ++ emms\n\ + popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224)); ++#else ++ /* If you put real code here, enable the corresponding option in main() */ ++ assert(0); ++#endif break; case 3: // double stretch mode - __asm__ __volatile__("pusha @@ -211,31 +239,37 @@ - leal (%1, %2, 4), %1 - jnz sumc - emms -- popa" -+ __asm__ __volatile__("pusha\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "movl $576, %%ebx\n\t" -+ "emms\n" -+ "sumc:\n\t" -+ "movq (%0, %%eax, 1), %%mm0\n\t" -+ "movq %%mm0, %%mm1\n\t" -+ "punpcklwd %%mm0, %%mm0\n\t" -+ "addl $8, %%eax\n\t" -+ "punpckhwd %%mm1,%%mm1\n\t" -+ "movq %%mm0, -16(%1, %%eax, 2)\n\t" -+ "cmpl %%ebx, %%eax\n\t" -+ "\n\t" -+ "movq %%mm1, -8(%1, %%eax, 2)\n\t" -+ "jnz sumc\n\t" -+ "xorl %%eax, %%eax\n\t" -+ "\n\t" -+ "addl %2, %0\n\t" -+ "decl %%edx\n\t" -+ "\n\t" -+ "leal (%1, %2, 4), %1\n\t" -+ "jnz sumc\n\t" -+ "emms\n\t" -+ "popa" ++#if defined(__i386__) ++ __asm__ __volatile__("pusha\n\ ++ xorl %%eax, %%eax\n\ ++ movl $576, %%ebx \n\ ++ emms\n\ ++ sumc:\n\ ++ movq (%0, %%eax, 1), %%mm0\n\ ++ movq %%mm0, %%mm1\n\ ++ punpcklwd %%mm0, %%mm0\n\ ++ addl $8, %%eax\n\ ++ punpckhwd %%mm1,%%mm1\n\ ++ movq %%mm0, -16(%1, %%eax, 2)\n\ ++ cmpl %%ebx, %%eax\n\ ++ \n\ ++ movq %%mm1, -8(%1, %%eax, 2)\n\ ++ jnz sumc\n\ ++ xorl %%eax, %%eax\n\ ++ \n\ ++ addl %2, %0\n\ ++ decl %%edx\n\ ++ \n\ ++ leal (%1, %2, 4), %1\n\ ++ jnz sumc\n\ ++ emms\n\ + popa" : : "S"(dx_buffer), "D"(g_pDDSPrimary->pixels), "c"(g_pDDSPrimary->pitch>>1), "d"(224)); ++#else ++ /* If you put real code here, enable the corresponding option in main() */ ++ assert(0); ++#endif break; + } + SDL_Flip(g_pDDSPrimary); Added: head/emulators/cygne-sdl/files/patch-src__mainsdl.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/cygne-sdl/files/patch-src__mainsdl.cpp Fri Feb 7 13:12:37 2014 (r343235) @@ -0,0 +1,26 @@ +--- mainsdl.cpp.orig ++++ mainsdl.cpp +@@ -322,13 +322,23 @@ int main(int argc, char *argv[]) + for (i=0; (i < argc || argv[i] != NULL); i++) { + + if(strcmp(argv[i], "-double") == 0) { ++#if defined(__i386__) + fScreenSize = 2; + fBlitterMode = 3; ++#else ++ fprintf(stderr, "-double is not supported on this platform\n"); ++ exit(1); ++#endif + } + + if(strcmp(argv[i], "-scanline") == 0) { ++#if defined(__i386__) + fScreenSize = 2; + fBlitterMode = 2; ++#else ++ fprintf(stderr, "-scanline is not supported on this platform\n"); ++ exit(1); ++#endif + } + + if (strncmp(argv[i], "-h", 2) == 0) { Added: head/emulators/cygne-sdl/files/patch-src__zlib__unzip.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/cygne-sdl/files/patch-src__zlib__unzip.h Fri Feb 7 13:12:37 2014 (r343235) @@ -0,0 +1,13 @@ +--- zlib/unzip.h.orig ++++ zlib/unzip.h +@@ -49,6 +49,10 @@ extern "C" { + #include "zlib.h" + #endif + ++#ifndef OF ++#define OF(a) a ++#endif ++ + #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) + /* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ Modified: head/emulators/cygne-sdl/pkg-descr ============================================================================== --- head/emulators/cygne-sdl/pkg-descr Fri Feb 7 13:11:08 2014 (r343234) +++ head/emulators/cygne-sdl/pkg-descr Fri Feb 7 13:12:37 2014 (r343235) @@ -2,4 +2,4 @@ Cygne/SDL is the Simple Directmedia Laye version of Cygne, a free and now OpenSource (since 12-03-2002) Bandai Wonderswan Color handheld software based emulator. -WWW: http://icculus.org/Cygne-SDL/ +WWW: http://icculus.org/Cygne-SDL/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201402071312.s17DCcrs024374>