From 69b27586061a37c8b33aa657750c4581809f5347 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 17 Jul 2020 16:57:59 +0300 Subject: Release version 1.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 --- .gitattributes | 2 +- buildfile | 5 +++++ libformat/build/.gitignore | 7 ++++--- libformat/libformat/buildfile | 10 +++++----- libformat/libformat/export.hxx | 9 +++++++-- libformat/libformat/version.hxx.in | 1 + libformat/manifest | 2 +- libformat/tests/build/.gitignore | 7 ++++--- 8 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 buildfile 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/ -- cgit v1.1