From 95c9318567dc4ba4a491cc85da2b23e59e2d431f Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 16 Nov 2013 09:42:24 +0200 Subject: Add support for VC8 in meta --- build/meta/common.m4 | 2 +- build/meta/vc8proj-functions.make | 27 +++++++++++++++++++++++++++ build/meta/vc8proj.make | 5 +++++ build/meta/vc8sln-functions.make | 29 +++++++++++++++++++++++++++++ build/meta/vc8sln.make | 5 +++++ build/meta/vcsln | 6 +++--- 6 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 build/meta/vc8proj-functions.make create mode 100644 build/meta/vc8proj.make create mode 100644 build/meta/vc8sln-functions.make create mode 100644 build/meta/vc8sln.make diff --git a/build/meta/common.m4 b/build/meta/common.m4 index b06d272..685a74a 100644 --- a/build/meta/common.m4 +++ b/build/meta/common.m4 @@ -85,7 +85,7 @@ m4_define([__foreach_w__], # # -m4_define([__env_impl__], [m4_esyscmd([echo -n $$1])]) +m4_define([__env_impl__], [m4_esyscmd([/bin/echo -n $$1])]) m4_define([__env__], [m4_equote()__env_impl__([$1])[]m4_dquote()]) m4_define([__value_impl__], [__env_impl__([$1])]) diff --git a/build/meta/vc8proj-functions.make b/build/meta/vc8proj-functions.make new file mode 100644 index 0000000..695405c --- /dev/null +++ b/build/meta/vc8proj-functions.make @@ -0,0 +1,27 @@ +# file : build/meta/vc8proj-functions.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +# Process VC++ project file template and write output to $(dist_prefix)/. +# Where path is computed as difference between src_base and src_root. +# +# Arguments: +# +# $1 - template path, if doesn't start with /, assume relative to src_base +# $2 - output name (optional) +# $3-8 - optional pairs of additional varibales and values $3=$4, $5=$6, etc +# +# +$(out_base)/%: meta-vc8proj = \ +$(call meta-vc8proj-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \ +$2,$2,$(notdir $1)),$(subst $(src_root),,$(src_base)),$3,$4,$5,$6,$7,$8) + +# $1 - template +# $2 - output name +# $3 - difference between src_base and src_root with leading '\' +# $4-9 - additional varibales +# +$(out_base)/%: meta-vc8proj-body = \ +$(call message,meta $(dist_prefix)$3/$2,$(if $4,$4='$5'; export $4; )$(if \ +$6,$6='$7'; export $6; )$(if $8,$8='$9'; export $8; )$(bld_root)/meta/vc9proj \ +-o $(dist_prefix)$3/$2 $1) diff --git a/build/meta/vc8proj.make b/build/meta/vc8proj.make new file mode 100644 index 0000000..179db17 --- /dev/null +++ b/build/meta/vc8proj.make @@ -0,0 +1,5 @@ +# file : build/meta/vc8proj.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(bld_root)/meta/vc8proj-functions.make,$(out_base)) diff --git a/build/meta/vc8sln-functions.make b/build/meta/vc8sln-functions.make new file mode 100644 index 0000000..0391a1c --- /dev/null +++ b/build/meta/vc8sln-functions.make @@ -0,0 +1,29 @@ +# file : build/meta/vc8sln-functions.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +# Process VC++ 8 solution template and write output to $(dist_prefix)/. +# Where path is computed as difference between src_base and src_root. +# +# Arguments: +# +# $1 - template path, if doesn't start with /, assume relative to src_base +# $2 - output name (optional) +# $3 - project suffix (-vc8.vcproj by default) +# $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc +# +$(out_base)/%: meta-vc8sln = \ +$(call meta-vc8sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \ +$2,$2,$(notdir $1)),$(subst \ +$(src_root),,$(src_base)),$(if $3,$3,-vc8.vcproj),$4,$5,$6,$7,$8,$9) + +# $1 - template +# $2 - output name +# $3 - difference between src_base and src_root with leading '\' +# $4 - project suffix +# $4-10 - additional varibales +# +$(out_base)/%: meta-vc8sln-body = \ +$(call message,meta $(dist_prefix)$3/$2,$(if $5,$5='$6'; export $5; )$(if \ +$7,$7='$8'; export $7; )$(if $9,$9='$(10)'; export $9; )$(bld_root)/meta/vcsln \ +-v 8 -b $(dist_prefix)$3 -e '$4' -o $(dist_prefix)$3/$2 $1) diff --git a/build/meta/vc8sln.make b/build/meta/vc8sln.make new file mode 100644 index 0000000..70e0703 --- /dev/null +++ b/build/meta/vc8sln.make @@ -0,0 +1,5 @@ +# file : build/meta/vc8sln.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(bld_root)/meta/vc8sln-functions.make,$(out_base)) diff --git a/build/meta/vcsln b/build/meta/vcsln index 46b1943..3b58311 100755 --- a/build/meta/vcsln +++ b/build/meta/vcsln @@ -11,7 +11,7 @@ # -b # -o # -e -# -v {9, 10} +# -v {8, 9, 10, 11} # # Arguments: # @@ -133,7 +133,7 @@ proj_uuids= for f in $proj_files; do if [ "$conf" = "" ]; then - if [ "$vcver" = "9" ]; then + if [ "$vcver" = "8" -o "$vcver" = "9" ]; then conf=`cat $f | fromdos | sed -n -e \ '/^[ ]*