Mon Mar 10 11:59:26 2008 UTC ()
now that that we rely on the fact that we get correct PIC from yasm
we can as well use libtool, to get a proper .so which can be
dynamically loaded, tested by Mihai Chelaru,
bump PKGREVISION


(drochner)
diff -r1.7 -r1.8 pkgsrc/multimedia/x264-devel/Makefile
diff -r1.1.1.1 -r1.2 pkgsrc/multimedia/x264-devel/PLIST
diff -r1.5 -r1.6 pkgsrc/multimedia/x264-devel/buildlink3.mk
diff -r1.5 -r1.6 pkgsrc/multimedia/x264-devel/distinfo
diff -r0 -r1.3 pkgsrc/multimedia/x264-devel/patches/patch-ab
diff -r0 -r1.1 pkgsrc/multimedia/x264-devel/patches/patch-ac

cvs diff -r1.7 -r1.8 pkgsrc/multimedia/x264-devel/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/multimedia/x264-devel/Attic/Makefile 2008/03/07 21:50:41 1.7
+++ pkgsrc/multimedia/x264-devel/Attic/Makefile 2008/03/10 11:59:26 1.8
@@ -1,32 +1,34 @@ @@ -1,32 +1,34 @@
1# $NetBSD: Makefile,v 1.7 2008/03/07 21:50:41 kefren Exp $ 1# $NetBSD: Makefile,v 1.8 2008/03/10 11:59:26 drochner Exp $
2# 2#
3 3
4SNAPSHOT_DATE= 20071218 4SNAPSHOT_DATE= 20071218
5 5
6DISTNAME= x264-snapshot-${SNAPSHOT_DATE}-2245 6DISTNAME= x264-snapshot-${SNAPSHOT_DATE}-2245
7PKGNAME= x264-devel-${SNAPSHOT_DATE} 7PKGNAME= x264-devel-${SNAPSHOT_DATE}
 8PKGREVISION= 1
8CATEGORIES= multimedia 9CATEGORIES= multimedia
9MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ 10MASTER_SITES= ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
10EXTRACT_SUFX= .tar.bz2 11EXTRACT_SUFX= .tar.bz2
11 12
12MAINTAINER= joerg@NetBSD.org 13MAINTAINER= joerg@NetBSD.org
13HOMEPAGE= http://www.videolan.org/developers/x264.html 14HOMEPAGE= http://www.videolan.org/developers/x264.html
14COMMENT= GPL licensed H.264 encoder 15COMMENT= GPL licensed H.264 encoder
15 16
16PKG_DESTDIR_SUPPORT= user-destdir 17PKG_DESTDIR_SUPPORT= user-destdir
17 18
18.include "../../mk/bsd.prefs.mk" 19.include "../../mk/bsd.prefs.mk"
19 20
20.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 21.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
21BUILD_DEPENDS+= yasm>=0.4.0:../../devel/yasm 22BUILD_DEPENDS+= yasm>=0.4.0:../../devel/yasm
22.endif 23.endif
23 24
24USE_TOOLS+= gmake 25USE_TOOLS+= gmake
 26USE_LIBTOOL= yes
25 27
26HAS_CONFIGURE= yes 28HAS_CONFIGURE= yes
27CONFIGURE_ARGS+= --prefix=${PREFIX:Q} 29CONFIGURE_ARGS+= --prefix=${PREFIX:Q}
28CONFIGURE_ARGS+= --enable-pic 
29 30
30BUILD_TARGET= default 31BUILD_TARGET= default
31 32
 33.include "../../mk/pthread.buildlink3.mk"
32.include "../../mk/bsd.pkg.mk" 34.include "../../mk/bsd.pkg.mk"

cvs diff -r1.1.1.1 -r1.2 pkgsrc/multimedia/x264-devel/Attic/PLIST (expand / switch to unified diff)

--- pkgsrc/multimedia/x264-devel/Attic/PLIST 2006/02/12 14:11:22 1.1.1.1
+++ pkgsrc/multimedia/x264-devel/Attic/PLIST 2008/03/10 11:59:26 1.2
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1@comment $NetBSD: PLIST,v 1.1.1.1 2006/02/12 14:11:22 joerg Exp $ 1@comment $NetBSD: PLIST,v 1.2 2008/03/10 11:59:26 drochner Exp $
2bin/x264 2bin/x264
3include/x264.h 3include/x264.h
4lib/libx264.a 4lib/libx264.la
5lib/pkgconfig/x264.pc 5lib/pkgconfig/x264.pc

cvs diff -r1.5 -r1.6 pkgsrc/multimedia/x264-devel/Attic/buildlink3.mk (expand / switch to unified diff)

--- pkgsrc/multimedia/x264-devel/Attic/buildlink3.mk 2006/07/08 23:11:02 1.5
+++ pkgsrc/multimedia/x264-devel/Attic/buildlink3.mk 2008/03/10 11:59:26 1.6
@@ -1,16 +1,15 @@ @@ -1,16 +1,15 @@
1# $NetBSD: buildlink3.mk,v 1.5 2006/07/08 23:11:02 jlam Exp $ 1# $NetBSD: buildlink3.mk,v 1.6 2008/03/10 11:59:26 drochner Exp $
2 2
3BUILDLINK_DEPMETHOD.x264-devel?= build 
4BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+ 3BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
5X264_DEVEL_BUILDLINK3_MK:= ${X264_DEVEL_BUILDLINK3_MK}+ 4X264_DEVEL_BUILDLINK3_MK:= ${X264_DEVEL_BUILDLINK3_MK}+
6 5
7.if !empty(BUILDLINK_DEPTH:M+) 6.if !empty(BUILDLINK_DEPTH:M+)
8BUILDLINK_DEPENDS+= x264-devel 7BUILDLINK_DEPENDS+= x264-devel
9.endif 8.endif
10 9
11BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nx264-devel} 10BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nx264-devel}
12BUILDLINK_PACKAGES+= x264-devel 11BUILDLINK_PACKAGES+= x264-devel
13BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}x264-devel 12BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}x264-devel
14 13
15.if !empty(X264_DEVEL_BUILDLINK3_MK:M+) 14.if !empty(X264_DEVEL_BUILDLINK3_MK:M+)
16BUILDLINK_API_DEPENDS.x264-devel+= x264-devel>=20060127 15BUILDLINK_API_DEPENDS.x264-devel+= x264-devel>=20060127

cvs diff -r1.5 -r1.6 pkgsrc/multimedia/x264-devel/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/multimedia/x264-devel/Attic/distinfo 2008/01/07 13:33:28 1.5
+++ pkgsrc/multimedia/x264-devel/Attic/distinfo 2008/03/10 11:59:26 1.6
@@ -1,6 +1,8 @@ @@ -1,6 +1,8 @@
1$NetBSD: distinfo,v 1.5 2008/01/07 13:33:28 joerg Exp $ 1$NetBSD: distinfo,v 1.6 2008/03/10 11:59:26 drochner Exp $
2 2
3SHA1 (x264-snapshot-20071218-2245.tar.bz2) = b5bc182070e17a8470618bae776488514b67a96a 3SHA1 (x264-snapshot-20071218-2245.tar.bz2) = b5bc182070e17a8470618bae776488514b67a96a
4RMD160 (x264-snapshot-20071218-2245.tar.bz2) = 753ab79398bf5bb92b41656ef48ab57dcc63f347 4RMD160 (x264-snapshot-20071218-2245.tar.bz2) = 753ab79398bf5bb92b41656ef48ab57dcc63f347
5Size (x264-snapshot-20071218-2245.tar.bz2) = 537622 bytes 5Size (x264-snapshot-20071218-2245.tar.bz2) = 537622 bytes
6SHA1 (patch-aa) = cce1ef8b7a332e9f9a4c18a8a4246b9382dc4bca 6SHA1 (patch-aa) = cce1ef8b7a332e9f9a4c18a8a4246b9382dc4bca
 7SHA1 (patch-ab) = 52324079d8ef0cee899e29fc0edaecb0384b8999
 8SHA1 (patch-ac) = 18a21816bddc28b9cd9139c3fdb179ebcbf03a4a

File Added: pkgsrc/multimedia/x264-devel/patches/Attic/patch-ab
$NetBSD: patch-ab,v 1.3 2008/03/10 11:59:26 drochner Exp $

--- Makefile.orig	2007-12-18 22:45:04.000000000 +0100
+++ Makefile
@@ -26,7 +26,7 @@ ASMSRC  = common/i386/dct-a.asm common/i
           common/i386/mc-a2.asm common/i386/predict-a.asm \
           common/i386/pixel-sse2.asm common/i386/quant-a.asm \
           common/i386/deblock-a.asm
-OBJASM  = $(ASMSRC:%.asm=%.o)
+OBJASM  = $(ASMSRC:%.asm=%.lo)
 ASFLAGS += -Icommon/i386/
 endif
 endif
@@ -40,7 +40,7 @@ ASMSRC  = common/amd64/dct-a.asm common/
           common/amd64/mc-a2.asm common/amd64/predict-a.asm \
           common/amd64/pixel-sse2.asm common/amd64/quant-a.asm \
           common/amd64/deblock-a.asm
-OBJASM  = $(ASMSRC:%.asm=%.o)
+OBJASM  = $(ASMSRC:%.asm=%.lo)
 ASFLAGS += -Icommon/amd64
 endif
 endif
@@ -51,20 +51,20 @@ ALTIVECSRC += common/ppc/mc.c common/ppc
               common/ppc/quant.c common/ppc/deblock.c \
               common/ppc/predict.c
 SRCS += $(ALTIVECSRC)
-$(ALTIVECSRC:%.c=%.o): CFLAGS += $(ALTIVECFLAGS)
+$(ALTIVECSRC:%.c=%.lo): CFLAGS += $(ALTIVECFLAGS)
 endif
 
 # VIS optims
 ifeq ($(ARCH),UltraSparc)
 ASMSRC += common/sparc/pixel.asm
-OBJASM  = $(ASMSRC:%.asm=%.o)
+OBJASM  = $(ASMSRC:%.asm=%.lo)
 endif
 
 ifneq ($(HAVE_GETOPT_LONG),1)
 SRCS += extras/getopt.c
 endif
 
-OBJS = $(SRCS:%.c=%.o)
+OBJS = $(SRCS:%.c=%.lo)
 OBJCLI = $(SRCCLI:%.c=%.o)
 DEP  = depend
 
@@ -73,15 +73,17 @@ all: default
 
 default: $(DEP) x264$(EXE)
 
-libx264.a: .depend $(OBJS) $(OBJASM)
-	ar rc libx264.a $(OBJS) $(OBJASM)
-	ranlib libx264.a
+%.lo: %.c
+	${LIBTOOL} --mode=compile ${CC} -c ${CFLAGS} -o $@ $<
+
+libx264.la: .depend $(OBJS) $(OBJASM)
+	${LIBTOOL} --mode=link ${CC} -o libx264.la $(OBJS) $(OBJASM) ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} -rpath ${PREFIX}/lib -version-info 0
 
 $(SONAME): .depend $(OBJS) $(OBJASM)
 	$(CC) -shared -o $@ $(OBJS) $(OBJASM) -Wl,-soname,$(SONAME) $(LDFLAGS)
 
-x264$(EXE): $(OBJCLI) libx264.a 
-	$(CC) -o $@ $+ $(LDFLAGS)
+x264$(EXE): $(OBJCLI) libx264.la 
+	${LIBTOOL} --mode=link $(CC) -o $@ $+ $(LDFLAGS)
 
 libx264gtk.a: muxers.o libx264.a
 	$(MAKE) -C gtk
@@ -89,10 +91,10 @@ libx264gtk.a: muxers.o libx264.a
 checkasm: tools/checkasm.o libx264.a
 	$(CC) -o $@ $+ $(LDFLAGS)
 
-common/amd64/*.o: common/amd64/amd64inc.asm
-common/i386/*.o: common/i386/i386inc.asm
-%.o: %.asm
-	$(AS) $(ASFLAGS) -o $@ $<
+common/amd64/*.lo: common/amd64/amd64inc.asm
+common/i386/*.lo: common/i386/i386inc.asm
+%.lo: %.asm
+	${LIBTOOL} --mode=compile --tag=ASM sh strip_fPIC.sh $(AS) $(ASFLAGS) -o $@ $<
 # delete local/anonymous symbols, so they don't show up in oprofile
 	-@ strip -x $@
 
@@ -153,12 +155,9 @@ install: x264 $(SONAME)
 	install -d $(DESTDIR)$(bindir) $(DESTDIR)$(includedir)
 	install -d $(DESTDIR)$(libdir) $(DESTDIR)$(libdir)/pkgconfig
 	install -m 644 x264.h $(DESTDIR)$(includedir)
-	install -m 644 libx264.a $(DESTDIR)$(libdir)
+	${LIBTOOL} --mode=install install -m 644 libx264.la $(DESTDIR)$(libdir)
 	install -m 644 x264.pc $(DESTDIR)$(libdir)/pkgconfig
-	install x264 $(DESTDIR)$(bindir)
-	ranlib $(DESTDIR)$(libdir)/libx264.a
-	$(if $(SONAME), ln -sf $(SONAME) $(DESTDIR)$(libdir)/libx264.so)
-	$(if $(SONAME), install -m 755 $(SONAME) $(DESTDIR)$(libdir))
+	${LIBTOOL} --mode=install install x264 $(DESTDIR)$(bindir)
 
 install-gtk: libx264gtk.a
 	$(MAKE) -C gtk install

File Added: pkgsrc/multimedia/x264-devel/patches/Attic/patch-ac
$NetBSD: patch-ac,v 1.1 2008/03/10 11:59:26 drochner Exp $

--- strip_fPIC.sh.orig	2008-01-11 20:38:05.000000000 +0100
+++ strip_fPIC.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# libtool assumes that the compiler can handle the -fPIC flag
+# This isn't always true (for example, nasm can't handle it)
+command=""
+while [ $1 ]; do
+	if [ "$1" != "-fPIC" ]; then
+		if [ "$1" = "-DPIC" ]; then
+			command="$command -D__PIC__"
+		else
+			command="$command $1"
+		fi
+	fi
+	shift
+done
+echo $command
+exec $command