summaryrefslogtreecommitdiff
path: root/libhello/libhello
diff options
context:
space:
mode:
Diffstat (limited to 'libhello/libhello')
-rw-r--r--libhello/libhello/buildfile10
-rw-r--r--libhello/libhello/export.hxx9
-rw-r--r--libhello/libhello/version.hxx.in1
3 files changed, 13 insertions, 7 deletions
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$