[x265] [PATCH] cmake: add `ar` and `libtool` examples to multlib.bat for linux and BSD

Steve Borho steve at borho.org
Thu Jul 9 18:26:17 CEST 2015


On 07/09, Steve Borho wrote:
> # HG changeset patch
> # User Steve Borho <steve at borho.org>
> # Date 1436455835 18000
> #      Thu Jul 09 10:30:35 2015 -0500
> # Node ID 31a94659ced71b3304257f3dc8115c1f00e040c4
> # Parent  83bc6fac1fb54e9d5241c5c10d8578811a355273
> cmake: add `ar` and `libtool` examples to multlib.bat for linux and BSD
> 
> This script is not going to be super portable, but should be a good hint to
> packagers for how to combine the static libraries of the individual builds
> together into a single static library which can then be installed by the default
> install rule.

I've pushed a slightly different version, which leaves the 8bit library
in place as libx265_main.a.

> diff -r 83bc6fac1fb5 -r 31a94659ced7 build/linux/multilib.sh
> --- a/build/linux/multilib.sh	Wed Jul 08 13:35:39 2015 -0500
> +++ b/build/linux/multilib.sh	Thu Jul 09 10:30:35 2015 -0500
> @@ -15,3 +15,28 @@
>  ln -sf ../12bit/libx265.a libx265_main12.a
>  cmake ../../../source -DEXTRA_LIB="x265_main10.a;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON
>  make ${MAKEFLAGS}
> +
> +uname=`uname`
> +if [[ "$uname" == "Linux" ]];
> +then
> +
> +# On Linux, we use GNU ar to combine the static libraries together
> +ar -M <<EOF
> +CREATE libx265_all.a
> +ADDLIB libx265.a
> +ADDLIB libx265_main10.a
> +ADDLIB libx265_main12.a
> +SAVE
> +END
> +EOF
> +
> +else
> +
> +# Mac/BSD libtool
> +libtool -static -o libx265_all.a libx265.a libx265_main10.a libx265_main12.a 2>/dev/null
> +
> +fi
> +
> +# then rename the combined library over libx265.a so the install rules
> +# will find this copy
> +mv libx265_all.a libx265.a

-- 
Steve Borho


More information about the x265-devel mailing list