Skip to content
This repository was archived by the owner on Dec 2, 2024. It is now read-only.

Commit a1f8ada

Browse files
committed
Update buildsys
1 parent 805c27c commit a1f8ada

File tree

2 files changed

+139
-125
lines changed

2 files changed

+139
-125
lines changed

build-aux/m4/buildsys.m4

Lines changed: 56 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ AC_DEFUN([BUILDSYS_INIT], [
4242
AC_SUBST(OBJC_DEPENDS, $GOBJC)
4343
AC_SUBST(OBJCXX_DEPENDS, $GOBJCXX)
4444
45+
AMIGA_LIB_LDFLAGS="-nostartfiles"
46+
AC_SUBST(AMIGA_LIB_CFLAGS)
47+
AC_SUBST(AMIGA_LIB_LDFLAGS)
48+
4549
AC_PATH_PROG(TPUT, tput)
4650
4751
AS_IF([test x"$TPUT" != x""], [
@@ -99,15 +103,6 @@ AC_DEFUN([BUILDSYS_INIT], [
99103
AC_SUBST(TERM_SETAF6,
100104
"$($TPUT AF 6 2>/dev/null)")
101105
fi
102-
], [
103-
AC_SUBST(TERM_EL, '\033\133K')
104-
AC_SUBST(TERM_SGR0, '\033\133m')
105-
AC_SUBST(TERM_BOLD, '\033\1331m')
106-
AC_SUBST(TERM_SETAF1, '\033\13331m')
107-
AC_SUBST(TERM_SETAF2, '\033\13332m')
108-
AC_SUBST(TERM_SETAF3, '\033\13333m')
109-
AC_SUBST(TERM_SETAF4, '\033\13334m')
110-
AC_SUBST(TERM_SETAF6, '\033\13336m')
111106
])
112107
])
113108
@@ -121,6 +116,29 @@ AC_DEFUN([BUILDSYS_INIT], [
121116
])
122117
])
123118

119+
AC_DEFUN([BUILDSYS_CHECK_IOS], [
120+
case "$host_os" in
121+
darwin*)
122+
AC_MSG_CHECKING(whether host is iOS)
123+
AC_EGREP_CPP(yes, [
124+
#include <TargetConditionals.h>
125+
126+
#if (defined(TARGET_OS_IPHONE) && \
127+
TARGET_OS_IPHONE) || \
128+
(defined(TARGET_OS_SIMULATOR) && \
129+
TARGET_OS_SIMULATOR)
130+
yes
131+
#endif
132+
], [
133+
host_is_ios="yes"
134+
], [
135+
host_is_ios="no"
136+
])
137+
AC_MSG_RESULT($host_is_ios)
138+
;;
139+
esac
140+
])
141+
124142
AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
125143
AC_REQUIRE([AC_CANONICAL_HOST])
126144
AC_MSG_CHECKING(whether we need an implib)
@@ -143,6 +161,7 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
143161

144162
AC_DEFUN([BUILDSYS_SHARED_LIB], [
145163
AC_REQUIRE([AC_CANONICAL_HOST])
164+
AC_REQUIRE([BUILDSYS_CHECK_IOS])
146165
AC_MSG_CHECKING(for shared library system)
147166
148167
case "$host_os" in
@@ -155,10 +174,17 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
155174
LIB_SUFFIX='.dylib'
156175
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
157176
PLUGIN_CFLAGS='-fPIC -DPIC'
158-
PLUGIN_LDFLAGS='-bundle -undefined dynamic_lookup'
177+
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}'
159178
PLUGIN_SUFFIX='.bundle'
179+
AS_IF([test x"$host_is_ios" = x"yes"], [
180+
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'
181+
], [
182+
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'
183+
])
160184
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'
161185
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
186+
INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/'
187+
UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i'
162188
CLEAN_LIB=''
163189
;;
164190
mingw* | cygwin*)
@@ -172,8 +198,11 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
172198
PLUGIN_CFLAGS=''
173199
PLUGIN_LDFLAGS='-shared'
174200
PLUGIN_SUFFIX='.dll'
201+
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
175202
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 $$i.a ${DESTDIR}${libdir}/$$i.a'
176203
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/$$i.a'
204+
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
205+
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
177206
CLEAN_LIB='${SHARED_LIB}.a'
178207
;;
179208
openbsd* | mirbsd*)
@@ -187,8 +216,11 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
187216
PLUGIN_CFLAGS='-fPIC -DPIC'
188217
PLUGIN_LDFLAGS='-shared'
189218
PLUGIN_SUFFIX='.so'
219+
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
190220
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
191221
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i'
222+
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
223+
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
192224
CLEAN_LIB=''
193225
;;
194226
solaris*)
@@ -202,8 +234,11 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
202234
PLUGIN_CFLAGS='-fPIC -DPIC'
203235
PLUGIN_LDFLAGS='-shared'
204236
PLUGIN_SUFFIX='.so'
237+
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
205238
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'
206239
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
240+
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
241+
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
207242
CLEAN_LIB=''
208243
;;
209244
*-android*)
@@ -217,8 +252,11 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
217252
PLUGIN_CFLAGS='-fPIC -DPIC'
218253
PLUGIN_LDFLAGS='-shared'
219254
PLUGIN_SUFFIX='.so'
255+
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
220256
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'
221257
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
258+
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
259+
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
222260
CLEAN_LIB=''
223261
;;
224262
*)
@@ -232,8 +270,11 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
232270
PLUGIN_CFLAGS='-fPIC -DPIC'
233271
PLUGIN_LDFLAGS='-shared'
234272
PLUGIN_SUFFIX='.so'
273+
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
235274
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'
236275
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
276+
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
277+
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
237278
CLEAN_LIB=''
238279
;;
239280
esac
@@ -247,35 +288,27 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
247288
AC_SUBST(PLUGIN_CFLAGS)
248289
AC_SUBST(PLUGIN_LDFLAGS)
249290
AC_SUBST(PLUGIN_SUFFIX)
291+
AC_SUBST(LINK_PLUGIN)
250292
AC_SUBST(INSTALL_LIB)
251293
AC_SUBST(UNINSTALL_LIB)
294+
AC_SUBST(INSTALL_PLUGIN)
295+
AC_SUBST(UNINSTALL_PLUGIN)
252296
AC_SUBST(CLEAN_LIB)
253297
])
254298

255299
AC_DEFUN([BUILDSYS_FRAMEWORK], [
256300
AC_REQUIRE([AC_CANONICAL_HOST])
301+
AC_REQUIRE([BUILDSYS_CHECK_IOS])
257302
AC_REQUIRE([BUILDSYS_SHARED_LIB])
258303
259304
AC_CHECK_TOOL(CODESIGN, codesign)
260305
261306
case "$host_os" in
262307
darwin*)
263-
AC_MSG_CHECKING(whether host is iOS)
264-
AC_EGREP_CPP(yes, [
265-
#include <TargetConditionals.h>
266-
267-
#if (defined(TARGET_OS_IPHONE) && \
268-
TARGET_OS_IPHONE) || \
269-
(defined(TARGET_OS_SIMULATOR) && \
270-
TARGET_OS_SIMULATOR)
271-
yes
272-
#endif
273-
], [
274-
AC_MSG_RESULT(yes)
308+
AS_IF([test x"$host_is_ios" = x"yes"], [
275309
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
276310
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}'
277311
], [
278-
AC_MSG_RESULT(no)
279312
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
280313
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}'
281314
])

0 commit comments

Comments
 (0)