Update buildsys
FossilOrigin-Name: 41ff6f383743a0c2683403dd1be2714a23d6036d3a20ac03fe253c3f1c440ae0
This commit is contained in:
parent
6fbc6d0c1c
commit
49826a7a06
2 changed files with 341 additions and 169 deletions
|
@ -1,25 +1,21 @@
|
|||
dnl
|
||||
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017,
|
||||
dnl 2018, 2020, 2021, 2022
|
||||
dnl 2018, 2020, 2021, 2022, 2023, 2024
|
||||
dnl Jonathan Schleifer <js@nil.im>
|
||||
dnl
|
||||
dnl https://fossil.nil.im/buildsys
|
||||
dnl https://fl.nil.im/buildsys
|
||||
dnl
|
||||
dnl Permission to use, copy, modify, and/or distribute this software for any
|
||||
dnl purpose with or without fee is hereby granted, provided that the above
|
||||
dnl copyright notice and this permission notice is present in all copies.
|
||||
dnl copyright notice and this permission notice appear in all copies.
|
||||
dnl
|
||||
dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
dnl POSSIBILITY OF SUCH DAMAGE.
|
||||
dnl THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
||||
dnl REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
dnl AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
dnl INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
dnl LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
dnl OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
dnl PERFORMANCE OF THIS SOFTWARE.
|
||||
dnl
|
||||
|
||||
AC_DEFUN([BUILDSYS_INIT], [
|
||||
|
@ -29,6 +25,10 @@ AC_DEFUN([BUILDSYS_INIT], [
|
|||
AC_ARG_ENABLE(rpath,
|
||||
AS_HELP_STRING([--disable-rpath], [do not use rpath]))
|
||||
|
||||
AC_ARG_ENABLE(silent-rules,
|
||||
AS_HELP_STRING([--disable-silent-rules],
|
||||
[print executed commands during build]))
|
||||
|
||||
case "$build_os" in
|
||||
darwin*)
|
||||
case "$host_os" in
|
||||
|
@ -127,6 +127,11 @@ AC_DEFUN([BUILDSYS_INIT], [
|
|||
"$($TPUT AF 6 2>/dev/null)")
|
||||
fi
|
||||
])
|
||||
|
||||
AS_IF([test x"$enable_silent_rules" != x"no"], [
|
||||
AC_SUBST(SILENT, '.SILENT:')
|
||||
AC_SUBST(MAKEFLAGS_SILENT, '-s')
|
||||
])
|
||||
])
|
||||
])
|
||||
|
||||
|
@ -144,10 +149,12 @@ AC_DEFUN([BUILDSYS_CHECK_IOS], [
|
|||
#endif
|
||||
], [
|
||||
host_is_ios="yes"
|
||||
AC_SUBST(HOST_IS_IOS, yes)
|
||||
], [
|
||||
host_is_ios="no"
|
||||
])
|
||||
AC_MSG_RESULT($host_is_ios)
|
||||
AC_CHECK_TOOL(CODESIGN, codesign)
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
@ -175,7 +182,7 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
|||
AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||
AC_MSG_CHECKING(for shared library system)
|
||||
AC_MSG_CHECKING(for shared library type)
|
||||
|
||||
case "$host" in
|
||||
*-*-darwin*)
|
||||
|
@ -188,18 +195,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}'
|
||||
PLUGIN_SUFFIX='.bundle'
|
||||
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} --timestamp=none $$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} --timestamp=none $$out'
|
||||
])
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
|
||||
INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/'
|
||||
UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
*-*-mingw* | *-*-cygwin*)
|
||||
|
@ -210,14 +207,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
LIB_PREFIX=''
|
||||
LIB_SUFFIX='${LIB_MAJOR}.dll'
|
||||
LINK_LIB='&& rm -f lib$${out%${LIB_SUFFIX}}.dll.a && ${LN_S} $$out lib$${out%${LIB_SUFFIX}}.dll.a'
|
||||
PLUGIN_CFLAGS=''
|
||||
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
|
||||
PLUGIN_SUFFIX='.dll'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$${i%${LIB_SUFFIX}}.dll.a ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB='${SHARED_LIB}.a ${SHARED_LIB_NOINST}.a'
|
||||
;;
|
||||
*-*-openbsd* | *-*-mirbsd*)
|
||||
|
@ -230,14 +221,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
*-*-solaris*)
|
||||
|
@ -250,14 +235,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
*-*-android*)
|
||||
|
@ -267,14 +246,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
LIB_LDFLAGS_INSTALL_NAME=''
|
||||
LIB_PREFIX='lib'
|
||||
LIB_SUFFIX='.so'
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH}'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
hppa*-*-hpux*)
|
||||
|
@ -288,14 +261,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,+b,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.sl'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
ia64*-*-hpux*)
|
||||
|
@ -309,14 +276,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,+b,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.so'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.so'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
*)
|
||||
|
@ -329,14 +290,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||
])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
|
||||
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i'
|
||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH}'
|
||||
CLEAN_LIB=''
|
||||
;;
|
||||
esac
|
||||
|
@ -348,14 +303,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
|||
AC_SUBST(LIB_SUFFIX)
|
||||
AC_SUBST(LINK_LIB)
|
||||
AC_SUBST(LDFLAGS_RPATH)
|
||||
AC_SUBST(PLUGIN_CFLAGS)
|
||||
AC_SUBST(PLUGIN_LDFLAGS)
|
||||
AC_SUBST(PLUGIN_SUFFIX)
|
||||
AC_SUBST(LINK_PLUGIN)
|
||||
AC_SUBST(INSTALL_LIB)
|
||||
AC_SUBST(UNINSTALL_LIB)
|
||||
AC_SUBST(INSTALL_PLUGIN)
|
||||
AC_SUBST(UNINSTALL_PLUGIN)
|
||||
AC_SUBST(CLEAN_LIB)
|
||||
])
|
||||
|
||||
|
@ -364,15 +313,12 @@ AC_DEFUN([BUILDSYS_FRAMEWORK], [
|
|||
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||
AC_REQUIRE([BUILDSYS_SHARED_LIB])
|
||||
|
||||
AC_CHECK_TOOL(CODESIGN, codesign)
|
||||
|
||||
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}'
|
||||
])
|
||||
|
||||
|
@ -384,3 +330,60 @@ AC_DEFUN([BUILDSYS_FRAMEWORK], [
|
|||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_DEFUN([BUILDSYS_PLUGIN], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||
AC_MSG_CHECKING(for plugin type)
|
||||
|
||||
case "$host" in
|
||||
*-*-darwin*)
|
||||
AC_MSG_RESULT(Darwin)
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-bundle'
|
||||
PLUGIN_SUFFIX='.dylib'
|
||||
;;
|
||||
*-*-mingw* | *-*-cygwin*)
|
||||
AC_MSG_RESULT(MinGW / Cygwin)
|
||||
PLUGIN_CFLAGS=''
|
||||
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
|
||||
PLUGIN_SUFFIX='.dll'
|
||||
;;
|
||||
hppa*-*-hpux*)
|
||||
AC_MSG_RESULT([HP-UX (PA-RISC)])
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.sl'
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT(ELF)
|
||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||
PLUGIN_LDFLAGS='-shared'
|
||||
PLUGIN_SUFFIX='.so'
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(PLUGIN_CFLAGS)
|
||||
AC_SUBST(PLUGIN_LDFLAGS)
|
||||
AC_SUBST(PLUGIN_SUFFIX)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue