ports/185508: emulators/generator: Fix build with clang

KATO Tsuguru tkato432 at yahoo.com
Sun Jan 5 18:10:03 UTC 2014


>Number:         185508
>Category:       ports
>Synopsis:       emulators/generator: Fix build with clang
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 05 18:10:02 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     KATO Tsuguru
>Release:        FreeBSD 8.4-RELEASE-p4 i386
>Organization:
>Environment:
>Description:
- Fix build with clang

New file:
files/patch-hdr__registers.h

>How-To-Repeat:
>Fix:

diff -urN /usr/ports/emulators/generator/Makefile emulators/generator/Makefile
--- /usr/ports/emulators/generator/Makefile	2013-11-06 22:06:22.000000000 +0900
+++ emulators/generator/Makefile	2014-01-06 00:00:00.000000000 +0900
@@ -10,29 +10,28 @@
 MAINTAINER=	ports at FreeBSD.org
 COMMENT=	SEGA Genesis emulator
 
-LIB_DEPENDS=	jpeg.11:${PORTSDIR}/graphics/jpeg
+LIB_DEPENDS=	libjpeg.so:${PORTSDIR}/graphics/jpeg
 
+OPTIONS_DEFINE=	OPTIMIZED_CFLAGS SDL
+OPTIONS_DEFINE_i386=	RAZE
+RAZE_DESC=	Use RAZE z80 emulation
+SDL_DESC=	Use SDL for audio
+
+USES=		gmake
 USE_GNOME=	gtk12
 USE_SDL=	sdl
-USE_GMAKE=	yes
-
 GNU_CONFIGURE=	yes
-CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
-CONFIGURE_ARGS+=--with-gtk
-
+CONFIGURE_ARGS=	--with-gtk
 MAKE_ARGS=	ACLOCAL="${TRUE}" AUTOCONF="${TRUE}" AUTOMAKE="${TRUE}" \
 		AUTOHEADER="${TRUE}"
 MAKE_JOBS_UNSAFE=	yes
 
-OPTIONS_DEFINE=	OPTIMIZED_CFLAGS RAZE SDL
-RAZE_DESC=	Use RAZE z80 emulation (only for i386)
-SDL_DESC=	Use SDL for audio
+CPPFLAGS+=	-I${LOCALBASE}/include
+LDFLAGS+=	-L${LOCALBASE}/lib
 
 PLIST_FILES=	bin/${PORTNAME}-gtk
 
-NO_STAGE=	yes
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
 
 .if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
 CONFIGURE_ARGS+=--with-gcc=3
@@ -40,7 +39,7 @@
 CONFIGURE_ARGS+=--without-gcc
 .endif
 
-.if ${PORT_OPTIONS:MRAZE} && ${ARCH} == "i386"
+.if ${PORT_OPTIONS:MRAZE}
 BUILD_DEPENDS+=	nasm:${PORTSDIR}/devel/nasm
 CONFIGURE_ARGS+=--with-raze
 .else
@@ -51,23 +50,15 @@
 CONFIGURE_ARGS+=--with-sdl-audio
 .endif
 
+.include <bsd.port.pre.mk>
+
 post-patch:
 .if ${ARCH} != "amd64" && ${ARCH} != "i386"
 # These architectures do not support "-minline-all-stringops"
-	@${REINPLACE_CMD} -e 's|-minline-all-stringops||g' \
-		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
-.   if ${ARCH} == "alpha"
-# "-ffast-math" does not work on alpha
-	@${REINPLACE_CMD} -e 's|-ffast-math||g' \
-		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
-.   endif
+	@${REINPLACE_CMD} -e \
+		's|-minline-all-stringops||g' ${WRKSRC}/configure
 .endif
-	@${REINPLACE_CMD} -e '/%define %1 @UNDERSCORE@%1 /d' \
-		${WRKSRC}/raze/raze.asm.in
-
-post-install:
-	@${ECHO_CMD}
-	@${CAT} ${PKGMESSAGE}
-	@${ECHO_CMD}
+	@${REINPLACE_CMD} -e \
+		'/%define %1 @UNDERSCORE@%1 /d' ${WRKSRC}/raze/raze.asm.in
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/emulators/generator/files/patch-hdr__registers.h emulators/generator/files/patch-hdr__registers.h
--- /usr/ports/emulators/generator/files/patch-hdr__registers.h	1970-01-01 09:00:00.000000000 +0900
+++ emulators/generator/files/patch-hdr__registers.h	2014-01-06 00:00:00.000000000 +0900
@@ -0,0 +1,24 @@
+--- hdr/registers.h.orig
++++ hdr/registers.h
+@@ -3,6 +3,7 @@
+    call a C function, then when that C function returns these registers are
+    still what they were before we made the call. */
+ 
++#if defined(__GNUC__) && !defined(__clang__)
+ #ifdef PROCESSOR_ARM
+      register uint32 reg68k_pc asm ("r7");
+      register uint32 *reg68k_regs asm ("r8");
+@@ -17,10 +18,11 @@
+          register uint32 reg68k_pc asm ("%ebx");
+          register uint32 *reg68k_regs asm ("%edi");
+          register t_sr reg68k_sr asm ("%esi");
++#    endif
++#  endif
++#endif
+ #    else
+          extern uint32 reg68k_pc;
+          extern uint32 *reg68k_regs;
+          extern t_sr reg68k_sr;
+-#    endif
+-#  endif
+ #endif
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list