--- a/moz.configure
+++ b/moz.configure
@@ -151,76 +151,68 @@ option(env='SO_VERSION', nargs=1, defaul
help='Shared library version for OpenBSD systems')
@depends('SO_VERSION', when=is_openbsd)
def so_version(value):
return value
@depends(target, target_is_windows, target_is_darwin, c_compiler, so_version)
def library_name_info(target, is_windows, is_darwin, c_compiler, so_version):
- dll_prefix = 'lib'
- dll_suffix = '.so'
- lib_prefix = 'lib'
- lib_suffix = 'a'
- rust_lib_prefix = 'lib'
- rust_lib_suffix = 'a'
- obj_suffix = 'o'
- import_lib_suffix = ''
-
if is_windows:
- dll_prefix = ''
- dll_suffix = '.dll'
-
- rust_lib_prefix = ''
- rust_lib_suffix = 'lib'
-
# There aren't artifacts for mingw builds, so it's OK that the results
# are inaccurate in that case.
if c_compiler and c_compiler.type not in ('msvc', 'clang-cl'):
- import_lib_suffix = 'a'
- else:
- import_lib_suffix = 'lib'
- lib_prefix = ''
- lib_suffix = 'lib'
- obj_suffix = 'obj'
+ return namespace(
+ dll=namespace(prefix='', suffix='.dll'),
+ lib=namespace(prefix='lib', suffix='a'),
+ import_lib=namespace(prefix='lib', suffix='a'),
+ rust_lib=namespace(prefix='', suffix='lib'),
+ obj=namespace(prefix='', suffix='o'),
+ )
+
+ return namespace(
+ dll=namespace(prefix='', suffix='.dll'),
+ lib=namespace(prefix='', suffix='lib'),
+ import_lib=namespace(prefix='', suffix='lib'),
+ rust_lib=namespace(prefix='', suffix='lib'),
+ obj=namespace(prefix='', suffix='obj'),
+ )
+
elif is_darwin:
- dll_suffix = '.dylib'
+ return namespace(
+ dll=namespace(prefix='lib', suffix='.dylib'),
+ lib=namespace(prefix='lib', suffix='a'),
+ import_lib=namespace(prefix=None, suffix=''),
+ rust_lib=namespace(prefix='lib', suffix='a'),
+ obj=namespace(prefix='', suffix='o'),
+ )
elif so_version:
- dll_suffix = '.so.%s' % so_version
-
- assert dll_suffix[0] == '.'
- assert obj_suffix[0] != '.'
- assert lib_suffix[0] != '.'
- assert rust_lib_suffix[0] != '.'
+ so = '.so.%s' % so_version
+ else:
+ so = '.so'
return namespace(
- dll_prefix=dll_prefix,
- dll_suffix=dll_suffix,
-
- lib_prefix=lib_prefix,
- lib_suffix=lib_suffix,
-
- rust_lib_prefix=rust_lib_prefix,
- rust_lib_suffix=rust_lib_suffix,
-
- obj_suffix=obj_suffix,
- import_lib_suffix=import_lib_suffix,
+ dll=namespace(prefix='lib', suffix=so),
+ lib=namespace(prefix='lib', suffix='a'),
+ import_lib=namespace(prefix=None, suffix=''),
+ rust_lib=namespace(prefix='lib', suffix='a'),
+ obj=namespace(prefix='', suffix='o'),
)
-set_config('DLL_PREFIX', library_name_info.dll_prefix)
-set_config('DLL_SUFFIX', library_name_info.dll_suffix)
-set_config('LIB_PREFIX', library_name_info.lib_prefix)
-set_config('LIB_SUFFIX', library_name_info.lib_suffix)
-set_config('RUST_LIB_PREFIX', library_name_info.rust_lib_prefix)
-set_config('RUST_LIB_SUFFIX', library_name_info.rust_lib_suffix)
-set_config('OBJ_SUFFIX', library_name_info.obj_suffix)
+set_config('DLL_PREFIX', library_name_info.dll.prefix)
+set_config('DLL_SUFFIX', library_name_info.dll.suffix)
+set_config('LIB_PREFIX', library_name_info.lib.prefix)
+set_config('LIB_SUFFIX', library_name_info.lib.suffix)
+set_config('RUST_LIB_PREFIX', library_name_info.rust_lib.prefix)
+set_config('RUST_LIB_SUFFIX', library_name_info.rust_lib.suffix)
+set_config('OBJ_SUFFIX', library_name_info.obj.suffix)
# Lots of compilation tests depend on this variable being present.
-add_old_configure_assignment('OBJ_SUFFIX', library_name_info.obj_suffix)
-set_config('IMPORT_LIB_SUFFIX', library_name_info.import_lib_suffix)
-set_define('MOZ_DLL_SUFFIX', depends(library_name_info)(lambda lni: '"%s"' % lni.dll_suffix))
+add_old_configure_assignment('OBJ_SUFFIX', library_name_info.obj.suffix)
+set_config('IMPORT_LIB_SUFFIX', library_name_info.import_lib.suffix)
+set_define('MOZ_DLL_SUFFIX', depends(library_name_info.dll.suffix)(lambda s: '"%s"' % s))
include(include_project_configure)
@depends('--help')
@imports(_from='mozbuild.backend', _import='backends')
def build_backends_choices(_):
return tuple(backends)