[oe-commits] org.oe.dev webkit: update makefiles for x86_64 and add acinclude.m4 to get rid of infinite libtool loop

koen commit oe at amethyst.openembedded.net
Wed Jun 4 15:54:16 UTC 2008


webkit: update makefiles for x86_64 and add acinclude.m4 to get rid of infinite libtool loop

Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 2697c4d7d64a7f183e820eac0eb13a633deddd61
ViewMTN: http://monotone.openembedded.org/revision/info/2697c4d7d64a7f183e820eac0eb13a633deddd61
Files:
1
packages/webkit/files/acinclude.m4
packages/webkit/files/update-webkit.sh
packages/webkit/files/Makefile
packages/webkit/files/Makefile.shared
packages/webkit/webkit-gtk_svn.bb
Diffs:

#
# mt diff -r0853a10f69b48a23ee613721a0eb7d67c1d04137 -r2697c4d7d64a7f183e820eac0eb13a633deddd61
#
#
#
# add_file "packages/webkit/files/acinclude.m4"
#  content [d089b22d00fa7497bb41e4f30b77a4711a0d20d7]
# 
# add_file "packages/webkit/files/update-webkit.sh"
#  content [63403fe7bf29b7d0f519fc7b6a413418cb7a92a8]
# 
# patch "packages/webkit/files/Makefile"
#  from [45c43d087d496c1ad06572aa5f3a45d0d522bf49]
#    to [96e3a86699284d8960c453ccad155734cf90d3a7]
# 
# patch "packages/webkit/files/Makefile.shared"
#  from [6471460e37c6e8eed41ccd49669e398ae773b44d]
#    to [425c017b0f4d7e55a36af684ed738656aafeeead]
# 
# patch "packages/webkit/webkit-gtk_svn.bb"
#  from [4b1afef7955e02864016c34de45578a867a6a85e]
#    to [3e3f5f342f551b081cd56fab1fc74145a0b6b8cb]
#
============================================================
--- packages/webkit/files/acinclude.m4	d089b22d00fa7497bb41e4f30b77a4711a0d20d7
+++ packages/webkit/files/acinclude.m4	d089b22d00fa7497bb41e4f30b77a4711a0d20d7
@@ -0,0 +1,177 @@
+dnl dolt, a replacement for libtool
+dnl Copyright © 2007-2008 Josh Triplett <josh at freedesktop.org>
+dnl Copying and distribution of this file, with or without modification,
+dnl are permitted in any medium without royalty provided the copyright
+dnl notice and this notice are preserved.
+dnl
+dnl To use dolt, invoke the DOLT macro immediately after the libtool macros.
+dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it
+dnl installed when running autoconf on your project.
+
+AC_DEFUN([DOLT], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+# dolt, a replacement for libtool
+# Josh Triplett <josh at freedesktop.org>
+AC_PATH_PROG(DOLT_BASH, bash)
+AC_MSG_CHECKING([if dolt supports this host])
+dolt_supported=yes
+if test x$DOLT_BASH = x; then
+    dolt_supported=no
+fi
+if test x$GCC != xyes; then
+    dolt_supported=no
+fi
+case $host in
+i?86-*-linux*|x86_64-*-linux*|powerpc-*-linux* \
+|amd64-*-freebsd*|i?86-*-freebsd*|ia64-*-freebsd*)
+    pic_options='-fPIC'
+    ;;
+i?86-apple-darwin*)
+    pic_options='-fno-common'
+    ;;
+*)
+    dolt_supported=no
+    ;;
+esac
+if test x$dolt_supported = xno ; then
+    AC_MSG_RESULT([no, falling back to libtool])
+    LTCOMPILE='$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(COMPILE)'
+    LTCXXCOMPILE='$(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXXCOMPILE)'
+else
+    AC_MSG_RESULT([yes, replacing libtool])
+
+dnl Start writing out doltcompile.
+    cat <<__DOLTCOMPILE__EOF__ >doltcompile
+#!$DOLT_BASH
+__DOLTCOMPILE__EOF__
+    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+args=("$[]@")
+for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do
+    if test x"${args@<:@$arg@:>@}" = x-o ; then
+        objarg=$((arg+1))
+        break
+    fi
+done
+if test x$objarg = x ; then
+    echo 'Error: no -o on compiler command line' 1>&2
+    exit 1
+fi
+lo="${args@<:@$objarg@:>@}"
+obj="${lo%.lo}"
+if test x"$lo" = x"$obj" ; then
+    echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2
+    exit 1
+fi
+objbase="${obj##*/}"
+__DOLTCOMPILE__EOF__
+
+dnl Write out shared compilation code.
+    if test x$enable_shared = xyes; then
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+libobjdir="${obj%$objbase}.libs"
+if test ! -d "$libobjdir" ; then
+    mkdir_out="$(mkdir "$libobjdir" 2>&1)"
+    mkdir_ret=$?
+    if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then
+	echo "$mkdir_out" 1>&2
+        exit $mkdir_ret
+    fi
+fi
+pic_object="$libobjdir/$objbase.o"
+args@<:@$objarg@:>@="$pic_object"
+__DOLTCOMPILE__EOF__
+    cat <<__DOLTCOMPILE__EOF__ >>doltcompile
+"\${args@<:@@@:>@}" $pic_options -DPIC || exit \$?
+__DOLTCOMPILE__EOF__
+    fi
+
+dnl Write out static compilation code.
+dnl Avoid duplicate compiler output if also building shared objects.
+    if test x$enable_static = xyes; then
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+non_pic_object="$obj.o"
+args@<:@$objarg@:>@="$non_pic_object"
+__DOLTCOMPILE__EOF__
+        if test x$enable_shared = xyes; then
+            cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args@<:@@@:>@}" >/dev/null 2>&1 || exit $?
+__DOLTCOMPILE__EOF__
+        else
+            cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args@<:@@@:>@}" || exit $?
+__DOLTCOMPILE__EOF__
+        fi
+    fi
+
+dnl Write out the code to write the .lo file.
+dnl The second line of the .lo file must match "^# Generated by .*libtool"
+    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+{
+echo "# $lo - a libtool object file"
+echo "# Generated by doltcompile, not libtool"
+__DOLTCOMPILE__EOF__
+
+    if test x$enable_shared = xyes; then
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "pic_object='.libs/${objbase}.o'"
+__DOLTCOMPILE__EOF__
+    else
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo pic_object=none
+__DOLTCOMPILE__EOF__
+    fi
+
+    if test x$enable_static = xyes; then
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "non_pic_object='${objbase}.o'"
+__DOLTCOMPILE__EOF__
+    else
+        cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo non_pic_object=none
+__DOLTCOMPILE__EOF__
+    fi
+
+    cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+} > "$lo"
+__DOLTCOMPILE__EOF__
+
+dnl Done writing out doltcompile; substitute it for libtool compilation.
+    chmod +x doltcompile
+    LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)'
+    LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)'
+
+dnl automake ignores LTCOMPILE and LTCXXCOMPILE when it has separate CFLAGS for
+dnl a target, so write out a libtool wrapper to handle that case.
+dnl Note that doltlibtool does not handle inferred tags or option arguments
+dnl without '=', because automake does not use them.
+    cat <<__DOLTLIBTOOL__EOF__ > doltlibtool
+#!$DOLT_BASH
+__DOLTLIBTOOL__EOF__
+    cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool
+top_builddir_slash="${0%%doltlibtool}"
+: ${top_builddir_slash:=./}
+args=()
+modeok=false
+tagok=false
+for arg in "$[]@"; do
+    case "$arg" in
+        --mode=compile) modeok=true ;;
+        --tag=CC|--tag=CXX) tagok=true ;;
+        *) args+=("$arg")
+    esac
+done
+if $modeok && $tagok ; then
+    . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}"
+else
+    exec ${top_builddir_slash}libtool "$[]@"
+fi
+__DOLTLIBTOOL__EOF__
+
+dnl Done writing out doltlibtool; substitute it for libtool.
+    chmod +x doltlibtool
+    LIBTOOL='$(top_builddir)/doltlibtool'
+fi
+AC_SUBST(LTCOMPILE)
+AC_SUBST(LTCXXCOMPILE)
+# end dolt
+])
============================================================
--- packages/webkit/files/update-webkit.sh	63403fe7bf29b7d0f519fc7b6a413418cb7a92a8
+++ packages/webkit/files/update-webkit.sh	63403fe7bf29b7d0f519fc7b6a413418cb7a92a8
@@ -0,0 +1,8 @@
+#!/bin/sh
+# usage: sh update-webkit.sh <revision>
+
+export rev=$1
+
+for i in acinclude.m4 autogen.sh configure.ac GNUmakefile.am Makefile Makefile.shared  ; do
+	wget "http://trac.webkit.org/browser/trunk/$i?rev=$rev&format=raw" -O $i
+done
============================================================
--- packages/webkit/files/Makefile	45c43d087d496c1ad06572aa5f3a45d0d522bf49
+++ packages/webkit/files/Makefile	96e3a86699284d8960c453ccad155734cf90d3a7
@@ -16,6 +16,10 @@ universal u:
 	@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
 	if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
 
+x86_64:
+	@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
+	if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
+
 64:
 	@for dir in $(MODULES); do ${MAKE} $@ -C $$dir; exit_status=$$?; \
 	if [ $$exit_status -ne 0 ]; then exit $$exit_status; fi; done
============================================================
--- packages/webkit/files/Makefile.shared	6471460e37c6e8eed41ccd49669e398ae773b44d
+++ packages/webkit/files/Makefile.shared	425c017b0f4d7e55a36af684ed738656aafeeead
@@ -15,6 +15,9 @@ universal u: force
 universal u: force
 	( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=ppc i386' | grep -v setenv && exit $${PIPESTATUS[0]} )
 
+x86_64: force
+	( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} )
+
 64: force
 	( xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) 'ARCHS=i386 x86_64' | grep -v setenv && exit $${PIPESTATUS[0]} )
 
============================================================
--- packages/webkit/webkit-gtk_svn.bb	4b1afef7955e02864016c34de45578a867a6a85e
+++ packages/webkit/webkit-gtk_svn.bb	3e3f5f342f551b081cd56fab1fc74145a0b6b8cb
@@ -1,3 +1,4 @@
+DESCRIPTION = "WebKit browser engine, GTK+ edition"
 DEPENDS = "curl icu libxml2 cairo libxslt libxt libidn gnutls gtk+ gstreamer gst-plugins-base gnome-vfs flex-native gperf-native perl-native sqlite3"
 
 SRCREV_FORMAT = "webcore-rwebkit"
@@ -13,6 +14,7 @@ SRC_URI = "\
   svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http;name=webkit \
   svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http \
   svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitTools;proto=http \
+  file://acinclude.m4 \
   file://Makefile \
   file://Makefile.shared \
   file://autogen.sh \






More information about the Openembedded-commits mailing list