configure: Make libraries properly relocatable on MacOS.
Also set the compatibility version.
This commit is contained in:
parent
17689c07bb
commit
7ed7e8fd4d
|
@ -14188,7 +14188,7 @@ echo "${ECHO_T}$ac_cv_c_dll_macho" >&6
|
||||||
then
|
then
|
||||||
LIBEXT="dylib"
|
LIBEXT="dylib"
|
||||||
LDDLLFLAGS="-bundle"
|
LDDLLFLAGS="-bundle"
|
||||||
LDSHARED="\$(CC) -dynamiclib"
|
LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
|
||||||
STRIP="$STRIP -u -r"
|
STRIP="$STRIP -u -r"
|
||||||
COREFOUNDATIONLIB="-framework CoreFoundation"
|
COREFOUNDATIONLIB="-framework CoreFoundation"
|
||||||
|
|
||||||
|
|
|
@ -1127,7 +1127,7 @@ case $host_os in
|
||||||
then
|
then
|
||||||
LIBEXT="dylib"
|
LIBEXT="dylib"
|
||||||
LDDLLFLAGS="-bundle"
|
LDDLLFLAGS="-bundle"
|
||||||
LDSHARED="\$(CC) -dynamiclib"
|
LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME) \$(SOVERSION:%=-compatibility_version %)"
|
||||||
STRIP="$STRIP -u -r"
|
STRIP="$STRIP -u -r"
|
||||||
dnl declare needed frameworks
|
dnl declare needed frameworks
|
||||||
AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
|
AC_SUBST(COREFOUNDATIONLIB,"-framework CoreFoundation")
|
||||||
|
|
|
@ -13,6 +13,7 @@ LIBEXT = @LIBEXT@
|
||||||
LIBNAME = lib$(LIBRARY)
|
LIBNAME = lib$(LIBRARY)
|
||||||
DEFNAME = $(LIBRARY).def
|
DEFNAME = $(LIBRARY).def
|
||||||
SONAME = $(LIBNAME).so.$(SOVERSION)
|
SONAME = $(LIBNAME).so.$(SOVERSION)
|
||||||
|
DYNAME = $(LIBNAME).$(SOVERSION).dylib
|
||||||
MODULE = $(LIBNAME).$(LIBEXT)
|
MODULE = $(LIBNAME).$(LIBEXT)
|
||||||
|
|
||||||
all: $(MODULE) $(MODULE:.dll=.a)
|
all: $(MODULE) $(MODULE:.dll=.a)
|
||||||
|
@ -31,8 +32,8 @@ $(LIBNAME).a: $(DEFNAME)
|
||||||
$(LIBNAME).dll: $(OBJS) $(DEFNAME) Makefile.in
|
$(LIBNAME).dll: $(OBJS) $(DEFNAME) Makefile.in
|
||||||
$(DLLWRAP) --def $(SRCDIR)/$(DEFNAME) -o $@ $(OBJS) $(EXTRALIBS)
|
$(DLLWRAP) --def $(SRCDIR)/$(DEFNAME) -o $@ $(OBJS) $(EXTRALIBS)
|
||||||
|
|
||||||
$(LIBNAME).$(SOVERSION).dylib: $(OBJS) Makefile.in
|
$(LIBNAME).$(SOVERSION).dylib: $(OBJS) $(RELPATH) Makefile.in
|
||||||
$(LDSHARED) -install_name $(libdir)/$(LIBNAME).$(SOVERSION).dylib $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
|
$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
|
||||||
|
|
||||||
$(LIBNAME).dylib: $(LIBNAME).$(SOVERSION).dylib
|
$(LIBNAME).dylib: $(LIBNAME).$(SOVERSION).dylib
|
||||||
$(RM) $@ && $(LN_S) $(LIBNAME).$(SOVERSION).dylib $@
|
$(RM) $@ && $(LN_S) $(LIBNAME).$(SOVERSION).dylib $@
|
||||||
|
@ -71,3 +72,6 @@ uninstall::
|
||||||
|
|
||||||
clean::
|
clean::
|
||||||
$(RM) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).dll $(LIBNAME).$(SOVERSION).dylib
|
$(RM) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).dll $(LIBNAME).$(SOVERSION).dylib
|
||||||
|
|
||||||
|
$(RELPATH):
|
||||||
|
@cd $(TOOLSDIR)/tools && $(MAKE) relpath
|
||||||
|
|
|
@ -30,7 +30,4 @@ CONFIGDIRS = \
|
||||||
config.o: config.c $(RELPATH)
|
config.o: config.c $(RELPATH)
|
||||||
$(CC) -c $(ALLCFLAGS) -o $@ $(SRCDIR)/config.c $(CONFIGDIRS)
|
$(CC) -c $(ALLCFLAGS) -o $@ $(SRCDIR)/config.c $(CONFIGDIRS)
|
||||||
|
|
||||||
$(RELPATH):
|
|
||||||
@cd $(TOOLSDIR)/tools && $(MAKE) relpath
|
|
||||||
|
|
||||||
### Dependencies:
|
### Dependencies:
|
||||||
|
|
Loading…
Reference in New Issue