summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2020-07-17 16:57:59 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-07-17 16:57:59 +0300
commit69b27586061a37c8b33aa657750c4581809f5347 (patch)
tree9bca41bf47e57d82ac53e21be78287d7ebca9086
parente45f2fe60a2ab1065f20f6a379ac94a6304e26ac (diff)
Release version 1.0.0+6v1.0.0+6
Add .gitattributes file Add glue buildfile Update build/.gitignore files Rename int_libs and imp_libs variables to intf_libs and impl_libs in buildfile Add note about data-exporting DLLs to export.hxx Add LIBFORMAT_VERSION_FULL macro definition to version.hxx.in
-rw-r--r--.gitattributes2
-rw-r--r--buildfile5
-rw-r--r--libformat/build/.gitignore7
-rw-r--r--libformat/libformat/buildfile10
-rw-r--r--libformat/libformat/export.hxx9
-rw-r--r--libformat/libformat/version.hxx.in1
-rw-r--r--libformat/manifest2
-rw-r--r--libformat/tests/build/.gitignore7
8 files changed, 28 insertions, 15 deletions
diff --git a/.gitattributes b/.gitattributes
index 9fce1b0..1631641 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -10,7 +10,7 @@
#*.bat text eol=crlf
# Use `eol=lf` for files that should have the LF line ending both in the
-# working tree (even on Windows) in the repository.
+# working tree (even on Windows) and in the repository.
#
#*.sh text eol=lf
diff --git a/buildfile b/buildfile
new file mode 100644
index 0000000..aad5e21
--- /dev/null
+++ b/buildfile
@@ -0,0 +1,5 @@
+# Glue buildfile that "pulls" all the packages in the project.
+#
+import pkgs = */
+
+./: $pkgs
diff --git a/libformat/build/.gitignore b/libformat/build/.gitignore
index 4a730a3..974e01d 100644
--- a/libformat/build/.gitignore
+++ b/libformat/build/.gitignore
@@ -1,3 +1,4 @@
-config.build
-root/
-bootstrap/
+/config.build
+/root/
+/bootstrap/
+build/
diff --git a/libformat/libformat/buildfile b/libformat/libformat/buildfile
index 04043df..a2f3fdf 100644
--- a/libformat/libformat/buildfile
+++ b/libformat/libformat/buildfile
@@ -1,8 +1,8 @@
-int_libs = # Interface dependencies.
-imp_libs = # Implementation dependencies.
-#import imp_libs += libhello%lib{hello}
+intf_libs = # Interface dependencies.
+impl_libs = # Implementation dependencies.
+#import impl_libs += libhello%lib{hello}
-lib{format}: {hxx ixx txx cxx}{** -version} hxx{version} $imp_libs $int_libs
+lib{format}: {hxx ixx txx cxx}{** -version} hxx{version} $impl_libs $intf_libs
# Include the generated version header into the distribution (so that we don't
# pick up an installed one) and don't remove it when cleaning in src (so that
@@ -26,7 +26,7 @@ objs{*}: cxx.poptions += -DLIBFORMAT_SHARED_BUILD
lib{format}:
{
cxx.export.poptions = "-I$out_root" "-I$src_root"
- cxx.export.libs = $int_libs
+ cxx.export.libs = $intf_libs
}
liba{format}: cxx.export.poptions += -DLIBFORMAT_STATIC
diff --git a/libformat/libformat/export.hxx b/libformat/libformat/export.hxx
index 1691181..60d514f 100644
--- a/libformat/libformat/export.hxx
+++ b/libformat/libformat/export.hxx
@@ -27,8 +27,13 @@
#else
// If none of the above macros are defined, then we assume we are being used
// by some third-party build system that cannot/doesn't signal the library
-// type. Note that this fallback works for both static and shared but in case
-// of shared will be sub-optimal compared to having dllimport.
+// type. Note that this fallback works for both static and shared libraries
+// provided the library only exports functions (in other words, no global
+// exported data) and for the shared case the result will be sub-optimal
+// compared to having dllimport. If, however, your library does export data,
+// then you will probably want to replace the fallback with the (commented
+// out) error since it won't work for the shared case.
//
# define LIBFORMAT_SYMEXPORT // Using static or shared.
+//# error define LIBFORMAT_STATIC or LIBFORMAT_SHARED preprocessor macro to signal libformat library type being linked
#endif
diff --git a/libformat/libformat/version.hxx.in b/libformat/libformat/version.hxx.in
index 3a1dd1c..4f7f605 100644
--- a/libformat/libformat/version.hxx.in
+++ b/libformat/libformat/version.hxx.in
@@ -22,6 +22,7 @@
#define LIBFORMAT_VERSION $libformat.version.project_number$ULL
#define LIBFORMAT_VERSION_STR "$libformat.version.project$"
#define LIBFORMAT_VERSION_ID "$libformat.version.project_id$"
+#define LIBFORMAT_VERSION_FULL "$libformat.version$"
#define LIBFORMAT_VERSION_MAJOR $libformat.version.major$
#define LIBFORMAT_VERSION_MINOR $libformat.version.minor$
diff --git a/libformat/manifest b/libformat/manifest
index 21595d2..fea1c52 100644
--- a/libformat/manifest
+++ b/libformat/manifest
@@ -1,6 +1,6 @@
: 1
name: libformat
-version: 1.0.0+5
+version: 1.0.0+6
project: hello
summary: The "Hello World" example formatter library
license: MIT ; MIT License.
diff --git a/libformat/tests/build/.gitignore b/libformat/tests/build/.gitignore
index 4a730a3..974e01d 100644
--- a/libformat/tests/build/.gitignore
+++ b/libformat/tests/build/.gitignore
@@ -1,3 +1,4 @@
-config.build
-root/
-bootstrap/
+/config.build
+/root/
+/bootstrap/
+build/