Make a distinction between plugins and bundles
FossilOrigin-Name: 5695217e58e9abf93c8869e73f24b146542e598ab0506ceb39b114f876d2cae4
This commit is contained in:
parent
b723a43c45
commit
12ea4586df
2 changed files with 76 additions and 31 deletions
|
@ -1,6 +1,6 @@
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017,
|
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017,
|
||||||
dnl 2018, 2020, 2021, 2022, 2023
|
dnl 2018, 2020, 2021, 2022, 2023, 2024
|
||||||
dnl Jonathan Schleifer <js@nil.im>
|
dnl Jonathan Schleifer <js@nil.im>
|
||||||
dnl
|
dnl
|
||||||
dnl https://fossil.nil.im/buildsys
|
dnl https://fossil.nil.im/buildsys
|
||||||
|
@ -344,49 +344,50 @@ AC_DEFUN([BUILDSYS_PLUGIN], [
|
||||||
*-*-darwin*)
|
*-*-darwin*)
|
||||||
AC_MSG_RESULT(Darwin)
|
AC_MSG_RESULT(Darwin)
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}'
|
PLUGIN_LDFLAGS='-bundle'
|
||||||
PLUGIN_SUFFIX='.bundle'
|
PLUGIN_SUFFIX='.dylib'
|
||||||
AS_IF([test x"$host_is_ios" = x"yes"], [
|
|
||||||
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Info.plist; fi && ${LD} -o $$out/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out'
|
|
||||||
], [
|
|
||||||
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out/Contents/MacOS && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist; fi && ${LD} -o $$out/Contents/MacOS/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out'
|
|
||||||
])
|
|
||||||
INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/'
|
|
||||||
UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i'
|
|
||||||
;;
|
;;
|
||||||
*-*-mingw* | *-*-cygwin*)
|
*-*-mingw* | *-*-cygwin*)
|
||||||
AC_MSG_RESULT(MinGW / Cygwin)
|
AC_MSG_RESULT(MinGW / Cygwin)
|
||||||
PLUGIN_CFLAGS=''
|
PLUGIN_CFLAGS=''
|
||||||
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
|
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
|
||||||
PLUGIN_SUFFIX='.dll'
|
PLUGIN_SUFFIX='.dll'
|
||||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
|
||||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
|
||||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
|
||||||
;;
|
;;
|
||||||
hppa*-*-hpux*)
|
hppa*-*-hpux*)
|
||||||
AC_MSG_RESULT([HP-UX (PA-RISC)])
|
AC_MSG_RESULT([HP-UX (PA-RISC)])
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
PLUGIN_LDFLAGS='-shared'
|
PLUGIN_LDFLAGS='-shared'
|
||||||
PLUGIN_SUFFIX='.sl'
|
PLUGIN_SUFFIX='.sl'
|
||||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
|
||||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
|
||||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_RESULT(ELF)
|
AC_MSG_RESULT(ELF)
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
PLUGIN_LDFLAGS='-shared'
|
PLUGIN_LDFLAGS='-shared'
|
||||||
PLUGIN_SUFFIX='.so'
|
PLUGIN_SUFFIX='.so'
|
||||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
|
||||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
|
||||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_SUBST(PLUGIN_CFLAGS)
|
AC_SUBST(PLUGIN_CFLAGS)
|
||||||
AC_SUBST(PLUGIN_LDFLAGS)
|
AC_SUBST(PLUGIN_LDFLAGS)
|
||||||
AC_SUBST(PLUGIN_SUFFIX)
|
AC_SUBST(PLUGIN_SUFFIX)
|
||||||
AC_SUBST(LINK_PLUGIN)
|
])
|
||||||
AC_SUBST(INSTALL_PLUGIN)
|
|
||||||
AC_SUBST(UNINSTALL_PLUGIN)
|
AC_DEFUN([BUILDSYS_BUNDLE], [
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||||
|
AC_REQUIRE([BUILDSYS_PLUGIN])
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
darwin*)
|
||||||
|
AS_IF([test x"$host_is_ios" = x"yes"], [
|
||||||
|
LINK_BUNDLE='${MKDIR_P} $$out && ${INSTALL} -m 644 Info.plist $$out/Info.plist && ${LD} -o $$out/$${out%.bundle} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||||
|
], [
|
||||||
|
LINK_BUNDLE='${MKDIR_P} $$out/Contents/MacOS && ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist && ${LD} -o $$out/Contents/MacOS/$${out%.bundle} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_SUBST(LINK_BUNDLE)
|
||||||
|
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
])
|
])
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
|
# Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
|
||||||
# 2017, 2018, 2020, 2021, 2022, 2023
|
# 2017, 2018, 2020, 2021, 2022, 2023, 2024
|
||||||
# Jonathan Schleifer <js@nil.im>
|
# Jonathan Schleifer <js@nil.im>
|
||||||
#
|
#
|
||||||
# https://fossil.nil.im/buildsys
|
# https://fossil.nil.im/buildsys
|
||||||
|
@ -89,6 +89,7 @@ bindir = @bindir@
|
||||||
libdir = @libdir@
|
libdir = @libdir@
|
||||||
amigalibdir ?= ${prefix}/libs
|
amigalibdir ?= ${prefix}/libs
|
||||||
plugindir ?= ${libdir}/${PACKAGE_NAME}
|
plugindir ?= ${libdir}/${PACKAGE_NAME}
|
||||||
|
bundledir ?= ${prefix}/Library/PlugIns/${PACKAGE_NAME}
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
|
@ -143,6 +144,7 @@ all:
|
||||||
${FRAMEWORK} ${FRAMEWORK_NOINST} \
|
${FRAMEWORK} ${FRAMEWORK_NOINST} \
|
||||||
${AMIGA_LIB} ${AMIGA_LIB_NOINST} \
|
${AMIGA_LIB} ${AMIGA_LIB_NOINST} \
|
||||||
${PLUGIN} ${PLUGIN_NOINST} \
|
${PLUGIN} ${PLUGIN_NOINST} \
|
||||||
|
${BUNDLE} ${BUNDLE_NOINST} \
|
||||||
${PROG} ${PROG_NOINST} \
|
${PROG} ${PROG_NOINST} \
|
||||||
${JARFILE} locales
|
${JARFILE} locales
|
||||||
${MAKE} @MAKEFLAGS_SILENT@ subdirs-after
|
${MAKE} @MAKEFLAGS_SILENT@ subdirs-after
|
||||||
|
@ -214,9 +216,7 @@ ${FRAMEWORK} ${FRAMEWORK_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
|
||||||
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
COPY_HEADERS_IF_SUBDIR=${includesubdir} \
|
||||||
COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \
|
COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \
|
||||||
copy-headers-into-framework && \
|
copy-headers-into-framework && \
|
||||||
if test -f Info.plist; then \
|
${INSTALL} -m 644 Info.plist $@/Info.plist && \
|
||||||
${INSTALL} -m 644 Info.plist $@/Info.plist; \
|
|
||||||
fi && \
|
|
||||||
if test -f module.modulemap; then \
|
if test -f module.modulemap; then \
|
||||||
${MKDIR_P} $@/Modules && \
|
${MKDIR_P} $@/Modules && \
|
||||||
${INSTALL} -m 644 module.modulemap \
|
${INSTALL} -m 644 module.modulemap \
|
||||||
|
@ -299,10 +299,20 @@ ${AMIGA_LIB} ${AMIGA_LIB_NOINST}: ${EXT_DEPS} ${AMIGA_LIB_OBJS_START} \
|
||||||
${LINK_FAILED}; \
|
${LINK_FAILED}; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS}
|
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA}
|
||||||
${LINK_STATUS}
|
${LINK_STATUS}
|
||||||
out="$@"; \
|
out="$@"; \
|
||||||
if @LINK_PLUGIN@; then \
|
if ${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
|
||||||
|
${LINK_OK}; \
|
||||||
|
else \
|
||||||
|
rm -fr $$out; false; \
|
||||||
|
${LINK_FAILED}; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
${BUNDLE} ${BUNDLE_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA}
|
||||||
|
${LINK_STATUS}
|
||||||
|
out="$@"; \
|
||||||
|
if rm -fr $$out && @LINK_BUNDLE@ && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out; then \
|
||||||
${LINK_OK}; \
|
${LINK_OK}; \
|
||||||
else \
|
else \
|
||||||
rm -fr $$out; false; \
|
rm -fr $$out; false; \
|
||||||
|
@ -809,7 +819,26 @@ install: all install-extra
|
||||||
for i in "" ${PLUGIN}; do \
|
for i in "" ${PLUGIN}; do \
|
||||||
test x"$$i" = x"" && continue; \
|
test x"$$i" = x"" && continue; \
|
||||||
${INSTALL_STATUS}; \
|
${INSTALL_STATUS}; \
|
||||||
if ${MKDIR_P} ${DESTDIR}${plugindir} @INSTALL_PLUGIN@; then \
|
if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
|
||||||
|
${INSTALL_OK}; \
|
||||||
|
else \
|
||||||
|
${INSTALL_FAILED}; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in "" ${BUNDLE}; do \
|
||||||
|
if ${MKDIR_P} ${DESTDIR}${bundledir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bundledir}/$$i; then \
|
||||||
|
${INSTALL_OK}; \
|
||||||
|
else \
|
||||||
|
${INSTALL_FAILED}; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
for i in "" ${BUNDLE}; do \
|
||||||
|
test x"$$i" = x"" && continue; \
|
||||||
|
${INSTALL_STATUS}; \
|
||||||
|
rm -fr ${DESTDIR}${bundledir}/$$i; \
|
||||||
|
if ${MKDIR_P} ${DESTDIR}${bundledir} && \
|
||||||
|
cp -R $$i ${DESTDIR}${bundledir}/; then \
|
||||||
${INSTALL_OK}; \
|
${INSTALL_OK}; \
|
||||||
else \
|
else \
|
||||||
${INSTALL_FAILED}; \
|
${INSTALL_FAILED}; \
|
||||||
|
@ -930,7 +959,7 @@ uninstall:
|
||||||
for i in "" ${PLUGIN}; do \
|
for i in "" ${PLUGIN}; do \
|
||||||
test x"$$i" = x"" && continue; \
|
test x"$$i" = x"" && continue; \
|
||||||
if test -e ${DESTDIR}${plugindir}/$$i; then \
|
if test -e ${DESTDIR}${plugindir}/$$i; then \
|
||||||
if : @UNINSTALL_PLUGIN@; then \
|
if rm -f ${DESTDIR}${plugindir}/$$i; then \
|
||||||
${DELETE_OK}; \
|
${DELETE_OK}; \
|
||||||
else \
|
else \
|
||||||
${DELETE_FAILED}; \
|
${DELETE_FAILED}; \
|
||||||
|
@ -939,6 +968,20 @@ uninstall:
|
||||||
done
|
done
|
||||||
rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1 || true
|
rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1 || true
|
||||||
|
|
||||||
|
for i in "" ${BUNDLE}; do \
|
||||||
|
test x"$$i" = x"" && continue; \
|
||||||
|
if test -d ${DESTDIR}${bundledir}/$$i; then \
|
||||||
|
if rm -fr ${DESTDIR}${bundledir}/$$i; \
|
||||||
|
then \
|
||||||
|
${DELETE_OK}; \
|
||||||
|
else \
|
||||||
|
${DELETE_FAILED}; \
|
||||||
|
fi \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
rmdir ${DESTDIR}${bundledir} >/dev/null 2>&1 || true
|
||||||
|
rmdir ${DESTDIR}${prefix}/Library >/dev/null 2>&1 || true
|
||||||
|
|
||||||
for i in "" ${DATA}; do \
|
for i in "" ${DATA}; do \
|
||||||
test x"$$i" = x"" && continue; \
|
test x"$$i" = x"" && continue; \
|
||||||
if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
|
if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
|
||||||
|
@ -1022,7 +1065,8 @@ clean:
|
||||||
${SHARED_LIB} ${SHARED_LIB_NOINST} ${AMIGA_LIB} \
|
${SHARED_LIB} ${SHARED_LIB_NOINST} ${AMIGA_LIB} \
|
||||||
${AMIGA_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} \
|
${AMIGA_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} \
|
||||||
${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${STATIC_AMIGA_LIB} \
|
${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${STATIC_AMIGA_LIB} \
|
||||||
${STATIC_AMIGA_LIB_NOINST} ${FRAMEWORK} ${PLUGIN} ${PLUGIN_NOINST} \
|
${STATIC_AMIGA_LIB_NOINST} ${FRAMEWORK} ${FRAMEWORK_NOINST} \
|
||||||
|
${PLUGIN} ${PLUGIN_NOINST} ${BUNDLE} ${BUNDLE_NOINST} \
|
||||||
${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
|
${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
|
||||||
test x"$$i" = x"" && continue; \
|
test x"$$i" = x"" && continue; \
|
||||||
if test -f $$i -o -d $$i; then \
|
if test -f $$i -o -d $$i; then \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue