Create .frameworks for macOS and iOS differently
FossilOrigin-Name: 5abbdc7a0a39925071a56d373ab4b27ac1b952b782b923d6cf6ab8c2fb459583
This commit is contained in:
parent
4f1b6289ee
commit
b723a43c45
2 changed files with 59 additions and 32 deletions
|
@ -153,6 +153,7 @@ AC_DEFUN([BUILDSYS_CHECK_IOS], [
|
||||||
#endif
|
#endif
|
||||||
], [
|
], [
|
||||||
host_is_ios="yes"
|
host_is_ios="yes"
|
||||||
|
AC_SUBST(HOST_IS_IOS, yes)
|
||||||
], [
|
], [
|
||||||
host_is_ios="no"
|
host_is_ios="no"
|
||||||
])
|
])
|
||||||
|
@ -318,11 +319,10 @@ AC_DEFUN([BUILDSYS_FRAMEWORK], [
|
||||||
|
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
darwin*)
|
darwin*)
|
||||||
|
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
||||||
AS_IF([test x"$host_is_ios" = x"yes"], [
|
AS_IF([test x"$host_is_ios" = x"yes"], [
|
||||||
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
|
||||||
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}'
|
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}'
|
||||||
], [
|
], [
|
||||||
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
|
||||||
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}'
|
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}'
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -208,37 +208,64 @@ ${SHARED_LIB} ${SHARED_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
|
||||||
${FRAMEWORK} ${FRAMEWORK_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
|
${FRAMEWORK} ${FRAMEWORK_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
|
||||||
${LINK_STATUS}
|
${LINK_STATUS}
|
||||||
out="$@"; \
|
out="$@"; \
|
||||||
if rm -fr $@ && \
|
if test x"@HOST_IS_IOS@" = x"yes"; then \
|
||||||
${MKDIR_P} $@/Versions/${LIB_MAJOR} && \
|
if rm -fr $@ && \
|
||||||
${LN_S} ${LIB_MAJOR} $@/Versions/Current && \
|
${MAKE} @MAKEFLAGS_SILENT@ \
|
||||||
${MAKE} @MAKEFLAGS_SILENT@ \
|
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
||||||
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \
|
||||||
COPY_HEADERS_DESTINATION=$$PWD/$@/Versions/${LIB_MAJOR}/Headers\
|
copy-headers-into-framework && \
|
||||||
copy-headers-into-framework && \
|
if test -f Info.plist; then \
|
||||||
${LN_S} Versions/Current/Headers $@/Headers && \
|
${INSTALL} -m 644 Info.plist $@/Info.plist; \
|
||||||
if test -f Info.plist; then \
|
fi && \
|
||||||
${MKDIR_P} $@/Versions/${LIB_MAJOR}/Resources && \
|
if test -f module.modulemap; then \
|
||||||
${INSTALL} -m 644 Info.plist \
|
${MKDIR_P} $@/Modules && \
|
||||||
$@/Versions/${LIB_MAJOR}/Resources/Info.plist && \
|
${INSTALL} -m 644 module.modulemap \
|
||||||
${LN_S} Versions/Current/Resources $@/Resources; \
|
$@/Modules/module.modulemap; \
|
||||||
fi && \
|
fi && \
|
||||||
if test -f module.modulemap; then \
|
${LD} -o $@/$${out%.framework} \
|
||||||
${MKDIR_P} $@/Versions/${LIB_MAJOR}/Modules && \
|
${LIB_OBJS} ${LIB_OBJS_EXTRA} ${FRAMEWORK_LDFLAGS} \
|
||||||
${INSTALL} -m 644 module.modulemap \
|
${FRAMEWORK_LDFLAGS_INSTALL_NAME} ${LDFLAGS} \
|
||||||
$@/Versions/${LIB_MAJOR}/Modules/module.modulemap && \
|
${FRAMEWORK_LIBS} && \
|
||||||
${LN_S} Versions/Current/Modules $@/Modules; \
|
${CODESIGN} -fs ${CODESIGN_IDENTITY} $@; then \
|
||||||
fi && \
|
${LINK_OK}; \
|
||||||
${LD} -o $@/Versions/${LIB_MAJOR}/$${out%.framework} ${LIB_OBJS} \
|
else \
|
||||||
${LIB_OBJS_EXTRA} ${FRAMEWORK_LDFLAGS} \
|
rm -fr $$out; false; \
|
||||||
${FRAMEWORK_LDFLAGS_INSTALL_NAME} ${LDFLAGS} \
|
${LINK_FAILED}; \
|
||||||
${FRAMEWORK_LIBS} && \
|
fi; \
|
||||||
${LN_S} Versions/Current/$${out%.framework} \
|
|
||||||
$@/$${out%.framework} && \
|
|
||||||
${CODESIGN} -fs ${CODESIGN_IDENTITY} $@; then \
|
|
||||||
${LINK_OK}; \
|
|
||||||
else \
|
else \
|
||||||
rm -fr $$out; false; \
|
versiondir="$@/Versions/${LIB_MAJOR}"; \
|
||||||
${LINK_FAILED}; \
|
if rm -fr $@ && \
|
||||||
|
${MKDIR_P} $$versiondir && \
|
||||||
|
${LN_S} ${LIB_MAJOR} $@/Versions/Current && \
|
||||||
|
${MAKE} @MAKEFLAGS_SILENT@ \
|
||||||
|
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
||||||
|
COPY_HEADERS_DESTINATION=$$PWD/$$versiondir/Headers \
|
||||||
|
copy-headers-into-framework && \
|
||||||
|
${LN_S} Versions/Current/Headers $@/Headers && \
|
||||||
|
if test -f Info.plist; then \
|
||||||
|
${MKDIR_P} $$versiondir/Resources && \
|
||||||
|
${INSTALL} -m 644 Info.plist \
|
||||||
|
$$versiondir/Resources/Info.plist && \
|
||||||
|
${LN_S} Versions/Current/Resources $@/Resources; \
|
||||||
|
fi && \
|
||||||
|
if test -f module.modulemap; then \
|
||||||
|
${MKDIR_P} $$versiondir/Modules && \
|
||||||
|
${INSTALL} -m 644 module.modulemap \
|
||||||
|
$$versiondir/Modules/module.modulemap && \
|
||||||
|
${LN_S} Versions/Current/Modules $@/Modules; \
|
||||||
|
fi && \
|
||||||
|
${LD} -o $$versiondir/$${out%.framework} \
|
||||||
|
${LIB_OBJS} ${LIB_OBJS_EXTRA} ${FRAMEWORK_LDFLAGS} \
|
||||||
|
${FRAMEWORK_LDFLAGS_INSTALL_NAME} ${LDFLAGS} \
|
||||||
|
${FRAMEWORK_LIBS} && \
|
||||||
|
${LN_S} Versions/Current/$${out%.framework} \
|
||||||
|
$@/$${out%.framework} && \
|
||||||
|
${CODESIGN} -fs ${CODESIGN_IDENTITY} $@; then \
|
||||||
|
${LINK_OK}; \
|
||||||
|
else \
|
||||||
|
rm -fr $$out; false; \
|
||||||
|
${LINK_FAILED}; \
|
||||||
|
fi; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
copy-headers-into-framework:
|
copy-headers-into-framework:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue