summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2013-10-24 19:21:59 +0200
committerLuca Barbato <lu_zero@gentoo.org>2013-10-27 02:24:44 +0100
commitd2c37e857f3e2d8286876aaa96b06069948f9c2a (patch)
tree27752a18caacf14acd4dff8231260dedf1874aa5
parentc5950f3e810243c7ba1dac984a7746c0cc483b7d (diff)
scripts: Support yasm
And document it in the README.
-rw-r--r--README.md (renamed from README)12
-rw-r--r--dolt.m49
2 files changed, 20 insertions, 1 deletions
diff --git a/README b/README.md
index 3be18b8..2aac309 100644
--- a/README
+++ b/README.md
@@ -1,3 +1,6 @@
+Dolt
+----
+
Dolt provides a drop-in replacement for libtool that significantly decreases
compile times on the platforms it supports. Rather than the libtool approach
of running a large script for every compile that repeatedly figures out how
@@ -5,6 +8,10 @@ to build libraries on the platform, dolt figures out those details at
configure time and writes out a minimal doltcompile script containing only the
commands needed to build a library on the current platform.
+
+Usage
+-----
+
If you use automake, autoconf, and libtool, then using dolt just requires two
steps:
@@ -14,3 +21,8 @@ steps:
- Add DISTCLEANFILES = @DOLT_CLEANFILES@ to your Makefile.am
For any platform Dolt does not support, it will transparently fall back to
libtool.
+
+Additional features
+-------------------
+
+- Experimental yasm support.
diff --git a/dolt.m4 b/dolt.m4
index 493ac85..ff28bef 100644
--- a/dolt.m4
+++ b/dolt.m4
@@ -73,7 +73,13 @@ pic_object="$libobjdir/$objbase.o"
args@<:@$objarg@:>@="$pic_object"
__DOLTCOMPILE__EOF__
cat <<__DOLTCOMPILE__EOF__ >>doltcompile
-"\${args@<:@@@:>@}" $pic_options -DPIC || exit \$?
+ pic_options="$pic_options"
+ if test x\$passthrough = xtrue; then
+ pic_options=""
+ fi
+__DOLTCOMPILE__EOF__
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+${args@<:@@@:>@} $pic_options -DPIC || exit $?
__DOLTCOMPILE__EOF__
fi
@@ -149,6 +155,7 @@ for arg in "$[]@"; do
case "$arg" in
--mode=compile) modeok=true ;;
--tag=CC|--tag=CXX) tagok=true ;;
+ --tag=ASM|--tag=YASM) tagok=true; passthrough=true;;
--silent|--quiet) ;;
*) args@<:@${#args[@]}@:>@="$arg" ;;
esac