summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-11-15 16:57:48 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-15 16:57:48 +0200
commitbe3dc4cee63da92cfa1fa44a0bf90ab11ec7aaca (patch)
treee74b26a798e0ff71bc140bbba3ea30e2eb3ac3e3 /build
parentf8c61f71ebf44572c9e865a620dc053e94371beb (diff)
Start switch to build2
Diffstat (limited to 'build')
-rw-r--r--build/.gitignore1
-rw-r--r--build/bootstrap.build18
-rw-r--r--build/bootstrap.make86
-rw-r--r--build/cli/cli-cxx.make46
-rw-r--r--build/export/cli/stub.make13
l---------build/import/cli/LICENSE1
-rw-r--r--build/import/cli/cli-cxx.make49
-rw-r--r--build/import/cli/configuration-rules.make15
-rwxr-xr-xbuild/import/cli/configure55
-rw-r--r--build/import/cli/stub.make30
-rw-r--r--build/import/libcutl/LICENSE21
-rw-r--r--build/import/libcutl/configuration-rules.make15
-rwxr-xr-xbuild/import/libcutl/configure55
-rw-r--r--build/import/libcutl/stub.make30
-rw-r--r--build/root.build22
15 files changed, 41 insertions, 416 deletions
diff --git a/build/.gitignore b/build/.gitignore
new file mode 100644
index 0000000..225c27f
--- /dev/null
+++ b/build/.gitignore
@@ -0,0 +1 @@
+config.build
diff --git a/build/bootstrap.build b/build/bootstrap.build
index 262791b..7c5dd61 100644
--- a/build/bootstrap.build
+++ b/build/bootstrap.build
@@ -1,2 +1,20 @@
+# file : build/bootstrap.build
+# copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
project = cli
+
+using build@0.4.0
+
+version = 1.2.0-a2
+revision = 0
+
+dist.package = $project-$version
+
+if ($revision != 0)
+ dist.package += +$revision
+
using config
+using dist
+using test
+using install
diff --git a/build/bootstrap.make b/build/bootstrap.make
deleted file mode 100644
index 97c276a..0000000
--- a/build/bootstrap.make
+++ /dev/null
@@ -1,86 +0,0 @@
-# file : build/bootstrap.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-project_name := cli
-
-# First try to include the bundled bootstrap.make if it exist. If that
-# fails, let make search for the external bootstrap.make.
-#
-build := build-0.3
-
--include $(dir $(lastword $(MAKEFILE_LIST)))../../$(build)/bootstrap.make
-
-ifeq ($(patsubst %build/bootstrap.make,,$(lastword $(MAKEFILE_LIST))),)
-include $(build)/bootstrap.make
-endif
-
-def_goal := $(.DEFAULT_GOAL)
-
-# Include C++ configuration. We need to know if we are using the generic
-# C++ compiler in which case we need to compensate for missing dependency
-# auto-generation (see below).
-#
-$(call include,$(bld_root)/cxx/configuration.make)
-
-# Aliases
-#
-.PHONY: $(out_base)/ \
- $(out_base)/.test \
- $(out_base)/.install \
- $(out_base)/.clean \
- $(out_base)/.cleandoc
-
-ifdef %interactive%
-
-.PHONY: test install clean cleandoc
-
-test: $(out_base)/.test
-install: $(out_base)/.install
-clean: $(out_base)/.clean
-cleandoc: $(out_base)/.cleandoc
-
-endif
-
-# If we don't have dependency auto-generation then we need to manually
-# make sure that CLI files are compiled before C++ file. To do this we
-# make the object files ($2) depend in order-only on generated files
-# ($3).
-#
-ifeq ($(cxx_id),generic)
-
-define include-dep
-$(if $2,$(eval $2: | $3))
-endef
-
-else
-
-define include-dep
-$(call -include,$1)
-endef
-
-endif
-
-
-# Don't include dependency info for certain targets.
-#
-ifneq ($(filter $(MAKECMDGOALS),clean cleandoc disfigure),)
-include-dep =
-endif
-
-# For install, don't include dependecies in examples, and tests.
-#
-ifneq ($(filter $(MAKECMDGOALS),install),)
-
-ifneq ($(subst $(src_root)/tests/,,$(src_base)),$(src_base))
-include-dep =
-endif
-
-ifneq ($(subst $(src_root)/examples/,,$(src_base)),$(src_base))
-include-dep =
-endif
-
-endif
-
-.DEFAULT_GOAL := $(def_goal)
diff --git a/build/cli/cli-cxx.make b/build/cli/cli-cxx.make
deleted file mode 100644
index 263f6f3..0000000
--- a/build/cli/cli-cxx.make
+++ /dev/null
@@ -1,46 +0,0 @@
-# file : build/cli/cli-cxx.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-# Get the C++ file extensions.
-#
-$(call include,$(bld_root)/cxx/configuration-static.make)
-
-cli_pattern := \
-$(out_base)/%.$(cxx_s_suffix) \
-$(out_base)/%.$(cxx_h_suffix) \
-$(out_base)/%.$(cxx_i_suffix)
-
-$(cli_pattern): cli := cli
-$(cli_pattern): cli_options := \
---hxx-suffix .$(cxx_h_suffix) \
---ixx-suffix .$(cxx_i_suffix) \
---cxx-suffix .$(cxx_s_suffix)
-
-.PRECIOUS: $(cli_pattern)
-
-ifeq ($(out_base),$(src_base))
-
-$(cli_pattern): $(src_base)/%.cli
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-else
-
-$(cli_pattern): $(src_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-$(cli_pattern): $(out_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-endif
-
-.PHONY: $(out_base)/%.cxx.cli.clean
-
-$(out_base)/%.cxx.cli.clean: cxx_s_suffix := $(cxx_s_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_h_suffix := $(cxx_h_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_i_suffix := $(cxx_i_suffix)
-
-$(out_base)/%.cxx.cli.clean:
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix)))
diff --git a/build/export/cli/stub.make b/build/export/cli/stub.make
deleted file mode 100644
index 70e3641..0000000
--- a/build/export/cli/stub.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# file : build/export/cli/stub.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(src_root)/cli/makefile,$(out_root))
-
-# Use the rules file from cli's import directory instead of the
-# importing project's one.
-#
-$(call export,\
- cli: $(out_root)/cli/cli,\
- cli-rules: $(scf_root)/import/cli/cli-cxx.make)
diff --git a/build/import/cli/LICENSE b/build/import/cli/LICENSE
deleted file mode 120000
index 5853aae..0000000
--- a/build/import/cli/LICENSE
+++ /dev/null
@@ -1 +0,0 @@
-../../../LICENSE \ No newline at end of file
diff --git a/build/import/cli/cli-cxx.make b/build/import/cli/cli-cxx.make
deleted file mode 100644
index 5d4293e..0000000
--- a/build/import/cli/cli-cxx.make
+++ /dev/null
@@ -1,49 +0,0 @@
-# file : build/import/cli/cli-cxx.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-# Here we are operating in the importing project's space, not in
-# cli's.
-#
-
-# Get the C++ file extensions.
-#
-$(call include,$(bld_root)/cxx/configuration-static.make)
-
-cli_pattern := \
-$(out_base)/%.$(cxx_s_suffix) \
-$(out_base)/%.$(cxx_h_suffix) \
-$(out_base)/%.$(cxx_i_suffix)
-
-$(cli_pattern): cli_options := \
---hxx-suffix .$(cxx_h_suffix) \
---ixx-suffix .$(cxx_i_suffix) \
---cxx-suffix .$(cxx_s_suffix)
-
-.PRECIOUS: $(cli_pattern)
-
-ifeq ($(out_base),$(src_base))
-
-$(cli_pattern): $(src_base)/%.cli
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-else
-
-$(cli_pattern): $(src_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-
-$(cli_pattern): $(out_base)/%.cli | $$(dir $$@).
- $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<)
-endif
-
-.PHONY: $(out_base)/%.cxx.cli.clean
-
-$(out_base)/%.cxx.cli.clean: cxx_s_suffix := $(cxx_s_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_h_suffix := $(cxx_h_suffix)
-$(out_base)/%.cxx.cli.clean: cxx_i_suffix := $(cxx_i_suffix)
-
-$(out_base)/%.cxx.cli.clean:
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix)))
- $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix)))
diff --git a/build/import/cli/configuration-rules.make b/build/import/cli/configuration-rules.make
deleted file mode 100644
index e5a77f2..0000000
--- a/build/import/cli/configuration-rules.make
+++ /dev/null
@@ -1,15 +0,0 @@
-# file : build/import/cli/configuration-rules.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-$(dcf_root)/import/cli/configuration-dynamic.make: | $(dcf_root)/import/cli/.
- $(call message,,$(scf_root)/import/cli/configure $@)
-
-ifndef %foreign%
-
-$(dcf_root)/.disfigure::
- $(call message,rm $(dcf_root)/import/cli/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/cli/configuration-dynamic.make)
-
-endif
diff --git a/build/import/cli/configure b/build/import/cli/configure
deleted file mode 100755
index 612301c..0000000
--- a/build/import/cli/configure
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/cli/configure
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-
-# $1 - out file
-#
-# bld_root - build root
-# project_name - project name
-#
-
-source $bld_root/dialog.bash
-
-
-$echo
-$echo "Configuring external dependency on 'cli' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'cli' as opposed to the development build?"
-$echo
-
-installed=`read_y_n y`
-
-path=
-
-if [ "$installed" = "n" ]; then
-
-$echo
-$echo "Please enter the src_root for 'cli'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'cli'."
-$eche
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo cli_installed := $installed >$1
-
-if [ "$installed" = "n" ]; then
-
-echo src_root := $src_root >>$1
-echo scf_root := \$\(src_root\)/build >>$1
-echo out_root := $out_root >>$1
-
-fi
diff --git a/build/import/cli/stub.make b/build/import/cli/stub.make
deleted file mode 100644
index 20cf45a..0000000
--- a/build/import/cli/stub.make
+++ /dev/null
@@ -1,30 +0,0 @@
-# file : build/import/cli/stub.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/cli/configuration-rules.make,$(dcf_root))
-
-cli_installed :=
-
-$(call -include,$(dcf_root)/import/cli/configuration-dynamic.make)
-
-ifdef cli_installed
-
-ifeq ($(cli_installed),y)
-
-$(call export,cli: cli,cli-rules: $(scf_root)/import/cli/cli-cxx.make)
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/cli/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/import/libcutl/LICENSE b/build/import/libcutl/LICENSE
deleted file mode 100644
index 5306eea..0000000
--- a/build/import/libcutl/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-Copyright (c) Code Synthesis Tools CC, 2009.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
diff --git a/build/import/libcutl/configuration-rules.make b/build/import/libcutl/configuration-rules.make
deleted file mode 100644
index db255d0..0000000
--- a/build/import/libcutl/configuration-rules.make
+++ /dev/null
@@ -1,15 +0,0 @@
-# file : build/import/libcutl/configuration-rules.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-$(dcf_root)/import/libcutl/configuration-dynamic.make: | $(dcf_root)/import/libcutl/.
- $(call message,,$(scf_root)/import/libcutl/configure $@)
-
-ifndef %foreign%
-
-$(dcf_root)/.disfigure::
- $(call message,rm $(dcf_root)/import/libcutl/configuration-dynamic.make,\
-rm -f $(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-endif
diff --git a/build/import/libcutl/configure b/build/import/libcutl/configure
deleted file mode 100755
index 6bcd346..0000000
--- a/build/import/libcutl/configure
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /usr/bin/env bash
-
-# file : build/import/libcutl/configure
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-
-# $1 - out file
-#
-# bld_root - build root
-# project_name - project name
-#
-
-source $bld_root/dialog.bash
-
-
-$echo
-$echo "Configuring external dependency on 'libcutl' for '$project_name'."
-$echo
-
-$echo
-$echo "Would you like to configure dependency on the installed "
-$echo "version of 'libcutl' as opposed to the development build?"
-$echo
-
-installed=`read_y_n y`
-
-path=
-
-if [ "$installed" = "n" ]; then
-
-$echo
-$echo "Please enter the src_root for 'libcutl'."
-$echo
-
-src_root=`read_path --directory --exist`
-
-$echo
-$echo "Please enter the out_root for 'libcutl'."
-$echo
-
-out_root=`read_path --directory $src_root`
-
-fi
-
-echo libcutl_installed := $installed >$1
-
-if [ "$installed" = "n" ]; then
-
-echo src_root := $src_root >>$1
-echo scf_root := \$\(src_root\)/build >>$1
-echo out_root := $out_root >>$1
-
-fi
diff --git a/build/import/libcutl/stub.make b/build/import/libcutl/stub.make
deleted file mode 100644
index ab3d051..0000000
--- a/build/import/libcutl/stub.make
+++ /dev/null
@@ -1,30 +0,0 @@
-# file : build/import/libcutl/stub.make
-# author : Boris Kolpackov <boris@codesynthesis.com>
-# copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-$(call include-once,$(scf_root)/import/libcutl/configuration-rules.make,$(dcf_root))
-
-libcutl_installed :=
-
-$(call -include,$(dcf_root)/import/libcutl/configuration-dynamic.make)
-
-ifdef libcutl_installed
-
-ifeq ($(libcutl_installed),y)
-
-$(call export,l: -lcutl,cpp-options: )
-
-else
-
-# Include export stub.
-#
-$(call include,$(scf_root)/export/libcutl/stub.make)
-
-endif
-
-else
-
-.NOTPARALLEL:
-
-endif
diff --git a/build/root.build b/build/root.build
index 3caf259..fd29507 100644
--- a/build/root.build
+++ b/build/root.build
@@ -1,6 +1,28 @@
+# file : build/root.build
+# copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
+# license : MIT; see accompanying LICENSE file
+
+cxx.std = 14
+
using cxx
hxx{*}: extension = hxx
ixx{*}: extension = ixx
txx{*}: extension = txx
cxx{*}: extension = cxx
+
+cxx.poptions =+ -I$out_root -I$src_root
+
+# Load the cli module but only if it's available. This way a distribution
+# that includes pre-generated files can be built without installing cli.
+# This is also the reason why we need to explicitly spell out individual
+# source files instead of using the cli.cxx{} group (it won't be there
+# unless the module is configured).
+#
+using? cli
+
+if! $cli.configured
+{
+ define cli: file
+ cli{*}: extension = cli
+}