From 65e2207b053b854ccb89589880bc6778939fee23 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 17 Jul 2020 17:14:33 +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 LIBHELLO_VERSION_FULL macro definition to version.hxx.in --- .gitattributes | 2 +- buildfile | 5 +++++ libhello/build/.gitignore | 7 ++++--- libhello/libhello/buildfile | 10 +++++----- libhello/libhello/export.hxx | 9 +++++++-- libhello/libhello/version.hxx.in | 1 + libhello/manifest | 2 +- libhello/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/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 505420e..04e8d20 100644 --- a/libhello/libhello/buildfile +++ b/libhello/libhello/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{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 @@ -26,7 +26,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 7961c9f..33924c7 100644 --- a/libhello/manifest +++ b/libhello/manifest @@ -1,6 +1,6 @@ : 1 name: libhello -version: 1.0.0+5 +version: 1.0.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