@@ -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+
124142AC_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
144162AC_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
255299AC_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