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
|
||||
], [
|
||||
host_is_ios="yes"
|
||||
AC_SUBST(HOST_IS_IOS, yes)
|
||||
], [
|
||||
host_is_ios="no"
|
||||
])
|
||||
|
@ -318,11 +319,10 @@ AC_DEFUN([BUILDSYS_FRAMEWORK], [
|
|||
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
||||
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='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
||||
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}
|
||||
${LINK_STATUS}
|
||||
out="$@"; \
|
||||
if rm -fr $@ && \
|
||||
${MKDIR_P} $@/Versions/${LIB_MAJOR} && \
|
||||
${LN_S} ${LIB_MAJOR} $@/Versions/Current && \
|
||||
${MAKE} @MAKEFLAGS_SILENT@ \
|
||||
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
||||
COPY_HEADERS_DESTINATION=$$PWD/$@/Versions/${LIB_MAJOR}/Headers\
|
||||
copy-headers-into-framework && \
|
||||
${LN_S} Versions/Current/Headers $@/Headers && \
|
||||
if test -f Info.plist; then \
|
||||
${MKDIR_P} $@/Versions/${LIB_MAJOR}/Resources && \
|
||||
${INSTALL} -m 644 Info.plist \
|
||||
$@/Versions/${LIB_MAJOR}/Resources/Info.plist && \
|
||||
${LN_S} Versions/Current/Resources $@/Resources; \
|
||||
fi && \
|
||||
if test -f module.modulemap; then \
|
||||
${MKDIR_P} $@/Versions/${LIB_MAJOR}/Modules && \
|
||||
${INSTALL} -m 644 module.modulemap \
|
||||
$@/Versions/${LIB_MAJOR}/Modules/module.modulemap && \
|
||||
${LN_S} Versions/Current/Modules $@/Modules; \
|
||||
fi && \
|
||||
${LD} -o $@/Versions/${LIB_MAJOR}/$${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}; \
|
||||
if test x"@HOST_IS_IOS@" = x"yes"; then \
|
||||
if rm -fr $@ && \
|
||||
${MAKE} @MAKEFLAGS_SILENT@ \
|
||||
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
||||
COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \
|
||||
copy-headers-into-framework && \
|
||||
if test -f Info.plist; then \
|
||||
${INSTALL} -m 644 Info.plist $@/Info.plist; \
|
||||
fi && \
|
||||
if test -f module.modulemap; then \
|
||||
${MKDIR_P} $@/Modules && \
|
||||
${INSTALL} -m 644 module.modulemap \
|
||||
$@/Modules/module.modulemap; \
|
||||
fi && \
|
||||
${LD} -o $@/$${out%.framework} \
|
||||
${LIB_OBJS} ${LIB_OBJS_EXTRA} ${FRAMEWORK_LDFLAGS} \
|
||||
${FRAMEWORK_LDFLAGS_INSTALL_NAME} ${LDFLAGS} \
|
||||
${FRAMEWORK_LIBS} && \
|
||||
${CODESIGN} -fs ${CODESIGN_IDENTITY} $@; then \
|
||||
${LINK_OK}; \
|
||||
else \
|
||||
rm -fr $$out; false; \
|
||||
${LINK_FAILED}; \
|
||||
fi; \
|
||||
else \
|
||||
rm -fr $$out; false; \
|
||||
${LINK_FAILED}; \
|
||||
versiondir="$@/Versions/${LIB_MAJOR}"; \
|
||||
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
|
||||
|
||||
copy-headers-into-framework:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue