aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-10-18 11:56:22 -0400
committerJack Lloyd <[email protected]>2018-10-18 11:56:22 -0400
commitd99b58135277af3b8c028314bef9156f1a41b576 (patch)
tree66ceb4dbf7fe5230a60784ded208bc82cc29419d
parent91eb6406383dfbf62848bf7af77e82937e7b69b3 (diff)
Add an OS flag for if the shared lib should be symlinked or not
-rwxr-xr-xconfigure.py9
-rw-r--r--src/build-data/os/openbsd.txt2
-rw-r--r--src/build-data/os/windows.txt2
3 files changed, 7 insertions, 6 deletions
diff --git a/configure.py b/configure.py
index c5a3fda32..554195d41 100755
--- a/configure.py
+++ b/configure.py
@@ -1368,6 +1368,7 @@ class OsInfo(InfoObject): # pylint: disable=too-many-instance-attributes
'cli_exe_name': 'botan',
'lib_prefix': 'lib',
'library_name': 'botan{suffix}-{major}',
+ 'shared_lib_symlinks': 'yes',
})
if lex.ar_command == 'ar' and lex.ar_options == '':
@@ -1414,6 +1415,7 @@ class OsInfo(InfoObject): # pylint: disable=too-many-instance-attributes
self.static_suffix = lex.static_suffix
self.target_features = lex.target_features
self.use_stack_protector = (lex.use_stack_protector == "true")
+ self.shared_lib_uses_symlinks = (lex.shared_lib_symlinks == 'yes')
def matches_name(self, nm):
if nm in self._aliases:
@@ -1815,11 +1817,6 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch,
return path
return os.path.join(build_dir, path)
- def shared_lib_uses_symlinks():
- if options.os in ['windows', 'openbsd']:
- return False
- return True
-
variables = {
'version_major': Version.major(),
'version_minor': Version.minor(),
@@ -1886,7 +1883,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch,
'build_coverage' : options.with_coverage_info or options.with_coverage,
- 'symlink_shared_lib': options.build_shared_lib and shared_lib_uses_symlinks(),
+ 'symlink_shared_lib': options.build_shared_lib and osinfo.shared_lib_uses_symlinks,
'libobj_dir': build_paths.libobj_dir,
'cliobj_dir': build_paths.cliobj_dir,
diff --git a/src/build-data/os/openbsd.txt b/src/build-data/os/openbsd.txt
index ad35da15b..a0458988e 100644
--- a/src/build-data/os/openbsd.txt
+++ b/src/build-data/os/openbsd.txt
@@ -3,6 +3,8 @@ soname_pattern_base "lib{libname}.so"
soname_pattern_abi "lib{libname}.so.{abi_rev}.{version_minor}"
soname_pattern_patch "lib{libname}.so.{abi_rev}.{version_minor}"
+shared_lib_symlinks no
+
<target_features>
posix1
posix_mlock
diff --git a/src/build-data/os/windows.txt b/src/build-data/os/windows.txt
index db6245a83..57781d7c8 100644
--- a/src/build-data/os/windows.txt
+++ b/src/build-data/os/windows.txt
@@ -6,6 +6,8 @@ obj_suffix obj
static_suffix lib
lib_prefix ''
+shared_lib_symlinks no
+
# For historical reasons? the library does not have the major number on Windows
# This should probably be fixed in a future major release.
library_name 'botan{suffix}'