summaryrefslogtreecommitdiff
path: root/libprint/libprint
diff options
context:
space:
mode:
Diffstat (limited to 'libprint/libprint')
-rw-r--r--libprint/libprint/buildfile29
-rw-r--r--libprint/libprint/export.hxx9
-rw-r--r--libprint/libprint/version.hxx.in1
3 files changed, 19 insertions, 20 deletions
diff --git a/libprint/libprint/buildfile b/libprint/libprint/buildfile
index c2a6d79..5bf421a 100644
--- a/libprint/libprint/buildfile
+++ b/libprint/libprint/buildfile
@@ -1,33 +1,26 @@
-int_libs = # Interface dependencies.
-imp_libs = # Implementation dependencies.
-#import imp_libs += libhello%lib{hello}
+intf_libs = # Interface dependencies.
+impl_libs = # Implementation dependencies.
+#import xxxx_libs += libhello%lib{hello}
-lib{print}: {hxx ixx txx cxx}{** -version} hxx{version} $imp_libs $int_libs
+lib{print}: {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
-# clean results in a state identical to distributed).
-#
hxx{version}: in{version} $src_root/manifest
-hxx{version}:
-{
- dist = true
- clean = ($src_root != $out_root)
-}
+
+hxx{export}@./: cxx.importable = false
# Build options.
#
cxx.poptions =+ "-I$out_root" "-I$src_root"
-obja{*}: cxx.poptions += -DLIBPRINT_STATIC_BUILD
-objs{*}: cxx.poptions += -DLIBPRINT_SHARED_BUILD
+{hbmia obja}{*}: cxx.poptions += -DLIBPRINT_STATIC_BUILD
+{hbmis objs}{*}: cxx.poptions += -DLIBPRINT_SHARED_BUILD
# Export options.
#
lib{print}:
{
cxx.export.poptions = "-I$out_root" "-I$src_root"
- cxx.export.libs = $int_libs
+ cxx.export.libs = $intf_libs
}
liba{print}: cxx.export.poptions += -DLIBPRINT_STATIC
@@ -38,9 +31,9 @@ libs{print}: cxx.export.poptions += -DLIBPRINT_SHARED
# for details on the version.* variable values.
#
if $version.pre_release
- lib{print}: bin.lib.version = @"-$version.project_id"
+ lib{print}: bin.lib.version = "-$version.project_id"
else
- lib{print}: bin.lib.version = @"-$version.major.$version.minor"
+ lib{print}: bin.lib.version = "-$version.major.$version.minor"
# Install into the libprint/ subdirectory of, say, /usr/include/
# recreating subdirectories.
diff --git a/libprint/libprint/export.hxx b/libprint/libprint/export.hxx
index f4b591e..23e59fb 100644
--- a/libprint/libprint/export.hxx
+++ b/libprint/libprint/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 LIBPRINT_SYMEXPORT // Using static or shared.
+//# error define LIBPRINT_STATIC or LIBPRINT_SHARED preprocessor macro to signal libprint library type being linked
#endif
diff --git a/libprint/libprint/version.hxx.in b/libprint/libprint/version.hxx.in
index 7d3c9e0..97b5747 100644
--- a/libprint/libprint/version.hxx.in
+++ b/libprint/libprint/version.hxx.in
@@ -22,6 +22,7 @@
#define LIBPRINT_VERSION $libprint.version.project_number$ULL
#define LIBPRINT_VERSION_STR "$libprint.version.project$"
#define LIBPRINT_VERSION_ID "$libprint.version.project_id$"
+#define LIBPRINT_VERSION_FULL "$libprint.version$"
#define LIBPRINT_VERSION_MAJOR $libprint.version.major$
#define LIBPRINT_VERSION_MINOR $libprint.version.minor$