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