diff options
author | edwin <edwin@FreeBSD.org> | 2003-09-01 11:55:04 +0800 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2003-09-01 11:55:04 +0800 |
commit | 79985e264b07cb0a5b591525a2cf226408636651 (patch) | |
tree | 67c3988befd643c792bc88bf25e4a77b06214269 /lang | |
parent | e2c60e1f14d71ac01e270ea0e1b429fd5ea18fa4 (diff) | |
download | freebsd-ports-gnome-79985e264b07cb0a5b591525a2cf226408636651.tar.gz freebsd-ports-gnome-79985e264b07cb0a5b591525a2cf226408636651.tar.zst freebsd-ports-gnome-79985e264b07cb0a5b591525a2cf226408636651.zip |
lang/squeak3 creates $PREFIX/bin/squeak symlink to nowhere
Fix audio support for squeak3
Sound support comes to do squeak3(squeak-3.5) porting, but
does not become effective because, actually, it cannot
detect the library which I am going to utilize with stage
of configure.
PR: ports/46180,ports/53474
Submitted by: NINOMIYA Hideyuki <nin@Jp.FreeBSD.org>,parv <parv_fm@emailgroups.net>
Diffstat (limited to 'lang')
3 files changed, 325 insertions, 4 deletions
diff --git a/lang/squeak3/Makefile b/lang/squeak3/Makefile index ac371f22750b..f489191cafaf 100644 --- a/lang/squeak3/Makefile +++ b/lang/squeak3/Makefile @@ -7,6 +7,7 @@ PORTNAME= squeak PORTVERSION= 3.5 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.5/ \ http://www-sor.inria.fr/~piumarta/squeak/unix/release/ \ @@ -21,7 +22,6 @@ COMMENT= Full Smalltalk 80 with portability to UNIX, Mac, and Windows # Don't set USE_ZIP as this breaks EXTRACT_CMD, EXTRACT_SUFX, and what not. BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip -LIB_DEPENDS+= audio.2:${PORTSDIR}/audio/nas SQUEAK_VERSION= 3.4-1 SQUEAK_IMAGE_VERSION= 3.5 @@ -37,17 +37,27 @@ USE_XLIB= yes USE_GMAKE= yes USE_REINPLACE= yes HAS_CONFIGURE= yes -INSTALLS_SHLIB= yes LDCONFIG_DIRS= ${PREFIX}/share/squeak/${SQUEAK_VERSION} CONFIGURE_WRKSRC= ${WRKSRC}/build INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} CONFIGURE_SCRIPT= ../platforms/unix/config/configure -CONFIGURE_ARGS+= --libdir=${PREFIX}/share --with-audio +CONFIGURE_ARGS+= --libdir=${PREFIX}/share # don't pass "-s" to install to avoid trying to strip a shell script CONFIGURE_ENV= INSTALL_PROGRAM="${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}" BUILD_WRKSRC= ${WRKSRC}/build DIST_SUBDIR= squeak +.ifdef (WITHOUT_AUDIO) +CONFIGURE_ARGS+= --without-audio +.else +LIB_DEPENDS+= audio.2:${PORTSDIR}/audio/nas +CONFIGURE_ARGS+= --with-audio=nas +.endif + +.ifdef (WITH_MMX) +CONFIGURE_ARGS+= --enable-mpg-mmx +.endif + MAKEFILE= Makefile .ifdef (CC) MAKE_ARGS+= CC=${CC} @@ -75,7 +85,11 @@ post-install: (cd ${PREFIX}/share/squeak && ${GZIP_CMD} ${file}) .endfor # install inisqueak and change the build in version number on the fly - ${SED} -e 's|VERSION=3.4-5170|VERSION=3.5-5180|' ${WRKSRC}/build/inisqueak > ${PREFIX}/bin/inisqueak + ${SED} \ + -e 's|VERSION=3.4-5170|VERSION=3.5-5180|' \ + -e 's|IMAGE=squeak|IMAGE=Squeak3.5-5180|' \ + -e 's|CHANGES=squeak|CHANGES=Squeak3.5-5180|' \ + ${WRKSRC}/build/inisqueak > ${PREFIX}/bin/inisqueak ${CHMOD} 755 ${PREFIX}/bin/inisqueak ${STRIP_CMD} ${PREFIX}/share/squeak/${SQUEAK_VERSION}/squeak ${CAT} ${PKGMESSAGE} diff --git a/lang/squeak3/files/patch-platforms::Cross::plugins::Mpeg3Plugin::libmpeg::video::output.c b/lang/squeak3/files/patch-platforms::Cross::plugins::Mpeg3Plugin::libmpeg::video::output.c new file mode 100644 index 000000000000..f5fa1f0bd1a1 --- /dev/null +++ b/lang/squeak3/files/patch-platforms::Cross::plugins::Mpeg3Plugin::libmpeg::video::output.c @@ -0,0 +1,290 @@ +--- platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c.orig Sun Aug 31 20:43:57 2003 ++++ platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c Sun Aug 31 20:45:36 2003 +@@ -261,38 +261,38 @@ + unsigned long v, + unsigned long *output) + { +-asm(" +-/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */ +-/* for bgr24. */ +- movd (%0), %%mm0; /* Load y 0x00000000000000yy */ +- movd (%1), %%mm1; /* Load u 0x00000000000000cr */ +- movq %%mm0, %%mm3; /* Copy y to temp */ +- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */ +- movd (%2), %%mm2; /* Load v 0x00000000000000cb */ +- psllq $16, %%mm3; /* Shift y */ +- movq %%mm1, %%mm4; /* Copy u to temp */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */ +- psllq $16, %%mm4; /* Shift u */ +- movq %%mm2, %%mm5; /* Copy v to temp */ +- psllq $16, %%mm3; /* Shift y */ +- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */ +- psllq $16, %%mm5; /* Shift v */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */ +- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */ +- psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */ +- pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */ +- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */ +- psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */ +- pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */ +- paddsw %%mm1, %%mm0; /* Add u to result */ +- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */ +- psraw $6, %%mm0; /* Demote precision */ +- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */ +- movd %%mm0, (%3); /* Store output */ ++asm(" \ ++/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */ \ ++/* for bgr24. */ \ ++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */ \ ++ movd (%1), %%mm1; /* Load u 0x00000000000000cr */\ ++ movq %%mm0, %%mm3; /* Copy y to temp */\ ++ psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */\ ++ movd (%2), %%mm2; /* Load v 0x00000000000000cb */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ movq %%mm1, %%mm4; /* Copy u to temp */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\ ++ psllq $16, %%mm4; /* Shift u */\ ++ movq %%mm2, %%mm5; /* Copy v to temp */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */\ ++ psllq $16, %%mm5; /* Shift v */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\ ++ por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */\ ++ psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */\ ++ pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */\ ++ psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */\ ++ psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */\ ++ pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */\ ++ paddsw %%mm1, %%mm0; /* Add u to result */\ ++ paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */\ ++ psraw $6, %%mm0; /* Demote precision */\ ++ packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */\ ++ movd %%mm0, (%3); /* Store output */\ + " + : + : "r" (&y), "r" (&u), "r" (&v), "r" (output)); +@@ -303,39 +303,39 @@ + unsigned long v, + unsigned long *output) + { +-asm(" +-/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */ +-/* for bgr24. */ +- movd (%0), %%mm0; /* Load y 0x00000000000000yy */ +- psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */ +- movd (%1), %%mm1; /* Load u 0x00000000000000cr */ +- movq %%mm0, %%mm3; /* Copy y to temp */ +- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */ +- movd (%2), %%mm2; /* Load v 0x00000000000000cb */ +- psllq $16, %%mm3; /* Shift y */ +- movq %%mm1, %%mm4; /* Copy u to temp */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */ +- psllq $16, %%mm4; /* Shift u */ +- movq %%mm2, %%mm5; /* Copy v to temp */ +- psllq $16, %%mm3; /* Shift y */ +- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */ +- psllq $16, %%mm5; /* Shift v */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */ +- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */ +- pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale and shift y coeffs */ +- psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */ +- pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */ +- psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */ +- pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */ +- paddsw %%mm1, %%mm0; /* Add u to result */ +- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */ +- psraw $6, %%mm0; /* Demote precision */ +- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */ +- movd %%mm0, (%3); /* Store output */ ++asm("\ ++/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */\ ++/* for bgr24. */\ ++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\ ++ psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */\ ++ movd (%1), %%mm1; /* Load u 0x00000000000000cr */\ ++ movq %%mm0, %%mm3; /* Copy y to temp */\ ++ psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */\ ++ movd (%2), %%mm2; /* Load v 0x00000000000000cb */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ movq %%mm1, %%mm4; /* Copy u to temp */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\ ++ psllq $16, %%mm4; /* Shift u */\ ++ movq %%mm2, %%mm5; /* Copy v to temp */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */\ ++ psllq $16, %%mm5; /* Shift v */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\ ++ por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */\ ++ pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale and shift y coeffs */\ ++ psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */\ ++ pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */\ ++ psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */\ ++ pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */\ ++ paddsw %%mm1, %%mm0; /* Add u to result */\ ++ paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */\ ++ psraw $6, %%mm0; /* Demote precision */\ ++ packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */\ ++ movd %%mm0, (%3); /* Store output */\ + " + : + : "r" (&y), "r" (&u), "r" (&v), "r" (output)); +@@ -351,38 +351,38 @@ + unsigned long v, + unsigned long *output) + { +-asm(" +-/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */ +-/* for rgb24. */ +- movd (%0), %%mm0; /* Load y 0x00000000000000yy */ +- movd (%1), %%mm1; /* Load v 0x00000000000000vv */ +- movq %%mm0, %%mm3; /* Copy y to temp */ +- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */ +- movd (%2), %%mm2; /* Load u 0x00000000000000uu */ +- psllq $16, %%mm3; /* Shift y */ +- movq %%mm1, %%mm4; /* Copy v to temp */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */ +- psllq $16, %%mm4; /* Shift v */ +- movq %%mm2, %%mm5; /* Copy u to temp */ +- psllq $16, %%mm3; /* Shift y */ +- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */ +- psllq $16, %%mm5; /* Shift u */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */ +- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */ +- psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */ +- pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */ +- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */ +- psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */ +- pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */ +- paddsw %%mm1, %%mm0; /* Add v to result */ +- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */ +- psraw $6, %%mm0; /* Demote precision */ +- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */ +- movd %%mm0, (%3); /* Store output */ ++asm("\ ++/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */\ ++/* for rgb24. */\ ++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\ ++ movd (%1), %%mm1; /* Load v 0x00000000000000vv */\ ++ movq %%mm0, %%mm3; /* Copy y to temp */\ ++ psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */\ ++ movd (%2), %%mm2; /* Load u 0x00000000000000uu */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ movq %%mm1, %%mm4; /* Copy v to temp */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\ ++ psllq $16, %%mm4; /* Shift v */\ ++ movq %%mm2, %%mm5; /* Copy u to temp */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */\ ++ psllq $16, %%mm5; /* Shift u */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\ ++ por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */\ ++ psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */\ ++ pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */\ ++ psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */\ ++ psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */\ ++ pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */\ ++ paddsw %%mm1, %%mm0; /* Add v to result */\ ++ paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */\ ++ psraw $6, %%mm0; /* Demote precision */\ ++ packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */\ ++ movd %%mm0, (%3); /* Store output */\ + " + : + : "r" (&y), "r" (&v), "r" (&u), "r" (output)); +@@ -393,39 +393,39 @@ + unsigned long v, + unsigned long *output) + { +-asm(" +-/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */ +-/* for rgb24. */ +- movd (%0), %%mm0; /* Load y 0x00000000000000yy */ +- psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */ +- movd (%1), %%mm1; /* Load v 0x00000000000000vv */ +- movq %%mm0, %%mm3; /* Copy y to temp */ +- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */ +- movd (%2), %%mm2; /* Load u 0x00000000000000uu */ +- psllq $16, %%mm3; /* Shift y */ +- movq %%mm1, %%mm4; /* Copy v to temp */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */ +- psllq $16, %%mm4; /* Shift v */ +- movq %%mm2, %%mm5; /* Copy u to temp */ +- psllq $16, %%mm3; /* Shift y */ +- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */ +- psllq $16, %%mm5; /* Shift u */ +- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */ +- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */ +- pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale y coeffs */ +- psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */ +- pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */ +- psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */ +- pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */ +- +-/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */ +- paddsw %%mm1, %%mm0; /* Add v to result */ +- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */ +- psraw $6, %%mm0; /* Demote precision */ +- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */ +- movd %%mm0, (%3); /* Store output */ ++asm("\ ++/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */\ ++/* for rgb24. */\ ++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\ ++ psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */\ ++ movd (%1), %%mm1; /* Load v 0x00000000000000vv */\ ++ movq %%mm0, %%mm3; /* Copy y to temp */\ ++ psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */\ ++ movd (%2), %%mm2; /* Load u 0x00000000000000uu */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ movq %%mm1, %%mm4; /* Copy v to temp */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\ ++ psllq $16, %%mm4; /* Shift v */\ ++ movq %%mm2, %%mm5; /* Copy u to temp */\ ++ psllq $16, %%mm3; /* Shift y */\ ++ por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */\ ++ psllq $16, %%mm5; /* Shift u */\ ++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\ ++ por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */\ ++ pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale y coeffs */\ ++ psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */\ ++ pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */\ ++ psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */\ ++ pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */\ ++\ ++/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */\ ++ paddsw %%mm1, %%mm0; /* Add v to result */\ ++ paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */\ ++ psraw $6, %%mm0; /* Demote precision */\ ++ packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */\ ++ movd %%mm0, (%3); /* Store output */\ + " + : + : "r" (&y), "r" (&v), "r" (&u), "r" (output)); diff --git a/lang/squeak3/files/patch-platforms::unix::config::configure b/lang/squeak3/files/patch-platforms::unix::config::configure new file mode 100644 index 000000000000..ff4bc0e28148 --- /dev/null +++ b/lang/squeak3/files/patch-platforms::unix::config::configure @@ -0,0 +1,17 @@ +--- platforms/unix/config/configure.orig Tue Jul 1 18:53:26 2003 ++++ platforms/unix/config/configure Tue Jul 1 19:03:44 2003 +@@ -9852,7 +9852,12 @@ + cat >conftest.$ac_ext <<_ACEOF + #line 9853 "configure" + #include "confdefs.h" +-main(){ double d= 1.0; return *(int *)&d == 0;} ++int main(void) ++{ ++ union { double d; int i[ sizeof(double) / sizeof(int) ]; } d; ++ d.d = 1.0; ++ return d.i[0] == 0; ++} + _ACEOF + rm -f conftest$ac_exeext + if { (eval echo "$as_me:9858: \"$ac_link\"") >&5 + |