From f56488af7dc8bdfd430a4ef01bd11148117719b3 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 18 Sep 2012 10:38:32 +0200 Subject: Add support for VC11 meta-build --- build/meta/vc10proj.m4 | 2 +- build/meta/vc10sln-functions.make | 4 ++-- build/meta/vc11proj-functions.make | 27 +++++++++++++++++++++++++++ build/meta/vc11proj.make | 5 +++++ build/meta/vc11sln-functions.make | 29 +++++++++++++++++++++++++++++ build/meta/vc11sln.make | 5 +++++ build/meta/vc9sln-functions.make | 4 ++-- 7 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 build/meta/vc11proj-functions.make create mode 100644 build/meta/vc11proj.make create mode 100644 build/meta/vc11sln-functions.make create mode 100644 build/meta/vc11sln.make diff --git a/build/meta/vc10proj.m4 b/build/meta/vc10proj.m4 index e300149..db1bf83 100644 --- a/build/meta/vc10proj.m4 +++ b/build/meta/vc10proj.m4 @@ -1,5 +1,5 @@ m4_divert(-1) -# file : build/meta/vc9proj.m4 +# file : build/meta/vc10proj.m4 # copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC # license : GNU GPL v2; see accompanying LICENSE file diff --git a/build/meta/vc10sln-functions.make b/build/meta/vc10sln-functions.make index c18e94e..4c8801c 100644 --- a/build/meta/vc10sln-functions.make +++ b/build/meta/vc10sln-functions.make @@ -9,13 +9,13 @@ # # $1 - template path, if doesn't start with /, assume relative to src_base # $2 - output name (optional) -# $3 - solution suffix (.vcxproj by default) +# $3 - solution suffix (-vc10.vcxproj by default) # $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc # $(out_base)/%: meta-vc10sln = \ $(call meta-vc10sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \ $2,$2,$(notdir $1)),$(subst \ -$(src_root),,$(src_base)),$(if $3,$3,.vcxproj),$4,$5,$6,$7,$8,$9) +$(src_root),,$(src_base)),$(if $3,$3,-vc10.vcxproj),$4,$5,$6,$7,$8,$9) # $1 - template # $2 - output name diff --git a/build/meta/vc11proj-functions.make b/build/meta/vc11proj-functions.make new file mode 100644 index 0000000..eff9091 --- /dev/null +++ b/build/meta/vc11proj-functions.make @@ -0,0 +1,27 @@ +# file : build/meta/vc11proj-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-vc11proj = \ +$(call meta-vc11proj-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-vc11proj-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/vc10proj \ +-o $(dist_prefix)$3/$2 $1) diff --git a/build/meta/vc11proj.make b/build/meta/vc11proj.make new file mode 100644 index 0000000..4cf98ea --- /dev/null +++ b/build/meta/vc11proj.make @@ -0,0 +1,5 @@ +# file : build/meta/vc11proj.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(bld_root)/meta/vc11proj-functions.make,$(out_base)) diff --git a/build/meta/vc11sln-functions.make b/build/meta/vc11sln-functions.make new file mode 100644 index 0000000..2600011 --- /dev/null +++ b/build/meta/vc11sln-functions.make @@ -0,0 +1,29 @@ +# file : build/meta/vc11sln-functions.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +# Process VC++ 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 - solution suffix (-vc11.vcxproj by default) +# $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc +# +$(out_base)/%: meta-vc11sln = \ +$(call meta-vc11sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \ +$2,$2,$(notdir $1)),$(subst \ +$(src_root),,$(src_base)),$(if $3,$3,-vc11.vcxproj),$4,$5,$6,$7,$8,$9) + +# $1 - template +# $2 - output name +# $3 - difference between src_base and src_root with leading '\' +# $4 - solution suffix +# $4-10 - additional varibales +# +$(out_base)/%: meta-vc11sln-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 11 -b $(dist_prefix)$3 -e '$4' -o $(dist_prefix)$3/$2 $1) diff --git a/build/meta/vc11sln.make b/build/meta/vc11sln.make new file mode 100644 index 0000000..8a212fe --- /dev/null +++ b/build/meta/vc11sln.make @@ -0,0 +1,5 @@ +# file : build/meta/vc11sln.make +# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC +# license : GNU GPL v2; see accompanying LICENSE file + +$(call include-once,$(bld_root)/meta/vc11sln-functions.make,$(out_base)) diff --git a/build/meta/vc9sln-functions.make b/build/meta/vc9sln-functions.make index 46f38aa..495b83c 100644 --- a/build/meta/vc9sln-functions.make +++ b/build/meta/vc9sln-functions.make @@ -9,13 +9,13 @@ # # $1 - template path, if doesn't start with /, assume relative to src_base # $2 - output name (optional) -# $3 - solution suffix (.vcproj by default) +# $3 - solution suffix (-vc9.vcproj by default) # $4-9 - optional pairs of additional varibales and values $4=$5, $6=$7, etc # $(out_base)/%: meta-vc9sln = \ $(call meta-vc9sln-body,$(if $(filter /%,$1),$1,$(src_base)/$1),$(if \ $2,$2,$(notdir $1)),$(subst \ -$(src_root),,$(src_base)),$(if $3,$3,.vcproj),$4,$5,$6,$7,$8,$9) +$(src_root),,$(src_base)),$(if $3,$3,-vc9.vcproj),$4,$5,$6,$7,$8,$9) # $1 - template # $2 - output name -- cgit v1.1