tests: Remove -module flag for mocks

macOS has two kinds of loadable libraries: MH_BUNDLE, and MH_DYLIB.
bundle is used for plugins that are loaded with dlopen/dlsym/dlclose.
And there's no way to preload a bundle into an application. dynamic
linker (dyld) will reject it when finds it in DYLD_INSERT_LIBRARIES.

Unfortunately, a bundle is built if -module flag is provided to libtool.
The flag has been removed to build dylibs with ".dylib" suffix.

Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
This commit is contained in:
Roman Bolshakov 2019-08-21 19:13:17 +03:00 committed by Daniel P. Berrangé
parent fde361083d
commit 647c65186a
2 changed files with 3 additions and 3 deletions

View File

@ -48,7 +48,7 @@ AM_CFLAGS = \
AM_LDFLAGS = \ AM_LDFLAGS = \
-export-dynamic -export-dynamic
MOCKLIBS_LDFLAGS = -module -avoid-version \ MOCKLIBS_LDFLAGS = -avoid-version \
-rpath /evil/libtool/hack/to/force/shared/lib/creation \ -rpath /evil/libtool/hack/to/force/shared/lib/creation \
$(MINGW_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)

View File

@ -119,8 +119,10 @@ int virTestMain(int argc,
#ifdef __APPLE__ #ifdef __APPLE__
# define PRELOAD_VAR "DYLD_INSERT_LIBRARIES" # define PRELOAD_VAR "DYLD_INSERT_LIBRARIES"
# define MOCK_EXT ".dylib"
#else #else
# define PRELOAD_VAR "LD_PRELOAD" # define PRELOAD_VAR "LD_PRELOAD"
# define MOCK_EXT ".so"
#endif #endif
#define VIR_TEST_PRELOAD(lib) \ #define VIR_TEST_PRELOAD(lib) \
@ -148,8 +150,6 @@ int virTestMain(int argc,
return virTestMain(argc, argv, func, __VA_ARGS__, NULL); \ return virTestMain(argc, argv, func, __VA_ARGS__, NULL); \
} }
#define MOCK_EXT ".so"
#define VIR_TEST_MOCK(mock) (abs_builddir "/.libs/lib" mock "mock" MOCK_EXT) #define VIR_TEST_MOCK(mock) (abs_builddir "/.libs/lib" mock "mock" MOCK_EXT)
virCapsPtr virTestGenericCapsInit(void); virCapsPtr virTestGenericCapsInit(void);