From 7e60117d41c6ea4efd9a69494c98701fa231a49b Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 17 Jul 2020 15:27:45 +0300 Subject: Release version 1.1.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 LIBHELLO_VERSION_FULL macro definition to version.hxx.in --- .gitattributes | 2 +- buildfile | 5 +++++ libhello/build/.gitignore | 7 ++++--- libhello/libhello/buildfile | 8 ++++---- libhello/libhello/export.hxx | 9 +++++++-- libhello/libhello/version.hxx.in | 1 + libhello/manifest | 2 +- libhello/tests/build/.gitignore | 7 ++++--- 8 files changed, 27 insertions(+), 14 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/libhello/build/.gitignore b/libhello/build/.gitignore index 4a730a3..974e01d 100644 --- a/libhello/build/.gitignore +++ b/libhello/build/.gitignore @@ -1,3 +1,4 @@ -config.build -root/ -bootstrap/ +/config.build +/root/ +/bootstrap/ +build/ diff --git a/libhello/libhello/buildfile b/libhello/libhello/buildfile index b1d0d96..6e6c7a3 100644 --- a/libhello/libhello/buildfile +++ b/libhello/libhello/buildfile @@ -1,7 +1,7 @@ -import int_libs = libformat%lib{format} # Interface dependency. -import imp_libs = libprint%lib{print} # Implementation dependency. +import intf_libs = libformat%lib{format} # Interface dependency. +import impl_libs = libprint%lib{print} # Implementation dependency. -lib{hello}: {hxx ixx txx cxx}{** -version} hxx{version} $imp_libs $int_libs +lib{hello}: {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 @@ -25,7 +25,7 @@ objs{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD lib{hello}: { cxx.export.poptions = "-I$out_root" "-I$src_root" - cxx.export.libs = $int_libs + cxx.export.libs = $intf_libs } liba{hello}: cxx.export.poptions += -DLIBHELLO_STATIC diff --git a/libhello/libhello/export.hxx b/libhello/libhello/export.hxx index 576543d..5473f23 100644 --- a/libhello/libhello/export.hxx +++ b/libhello/libhello/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 LIBHELLO_SYMEXPORT // Using static or shared. +//# error define LIBHELLO_STATIC or LIBHELLO_SHARED preprocessor macro to signal libhello library type being linked #endif diff --git a/libhello/libhello/version.hxx.in b/libhello/libhello/version.hxx.in index bd5c13f..46503b8 100644 --- a/libhello/libhello/version.hxx.in +++ b/libhello/libhello/version.hxx.in @@ -22,6 +22,7 @@ #define LIBHELLO_VERSION $libhello.version.project_number$ULL #define LIBHELLO_VERSION_STR "$libhello.version.project$" #define LIBHELLO_VERSION_ID "$libhello.version.project_id$" +#define LIBHELLO_VERSION_FULL "$libhello.version$" #define LIBHELLO_VERSION_MAJOR $libhello.version.major$ #define LIBHELLO_VERSION_MINOR $libhello.version.minor$ diff --git a/libhello/manifest b/libhello/manifest index cf3d235..05343e2 100644 --- a/libhello/manifest +++ b/libhello/manifest @@ -1,6 +1,6 @@ : 1 name: libhello -version: 1.1.0+5 +version: 1.1.0+6 project: hello summary: The "Hello World" example library license: MIT ; MIT License. diff --git a/libhello/tests/build/.gitignore b/libhello/tests/build/.gitignore index 4a730a3..974e01d 100644 --- a/libhello/tests/build/.gitignore +++ b/libhello/tests/build/.gitignore @@ -1,3 +1,4 @@ -config.build -root/ -bootstrap/ +/config.build +/root/ +/bootstrap/ +build/ -- cgit v1.1