buildsys  Check-in [305b7c17e4]

Overview
Comment:Use Apple libtool if build and host are Darwin

This allows combining fat .a files.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 305b7c17e4a36a9c617550c4fd46c9b9b1ddad281f672c0915141eb77d3a34e4
User & Date: js on 2018-01-19 00:17:05
Other Links: manifest | tags
Context
2018-01-19
23:16
Fix using wrong .o files with Apple libtool check-in: ee58842cbe user: js tags: trunk
00:17
Use Apple libtool if build and host are Darwin check-in: 305b7c17e4 user: js tags: trunk
2017-10-29
02:25
Fix make install running several times check-in: 511e89e9c6 user: js tags: trunk
Changes

Modified buildsys.mk.in from [628378e719] to [a1a99ddb89].

76
77
78
79
80
81
82

83
84
85
86
87
88
89
INSTALL = @INSTALL@
SHELL = @SHELL@
MSGFMT = @MSGFMT@
JAVAC = @JAVAC@
JAVACFLAGS = @JAVACFLAGS@
JAR = @JAR@
WINDRES = @WINDRES@

prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
plugindir ?= ${libdir}/${PACKAGE_NAME}
datarootdir = @datarootdir@
datadir = @datadir@







>







76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
INSTALL = @INSTALL@
SHELL = @SHELL@
MSGFMT = @MSGFMT@
JAVAC = @JAVAC@
JAVACFLAGS = @JAVACFLAGS@
JAR = @JAR@
WINDRES = @WINDRES@
BUILD_AND_HOST_ARE_DARWIN = @BUILD_AND_HOST_ARE_DARWIN@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
plugindir ?= ${libdir}/${PACKAGE_NAME}
datarootdir = @datarootdir@
datadir = @datadir@
298
299
300
301
302
303
304








305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338

339
340
341
342








343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376

377
378
379
380
381
382
383
	else \
		${LINK_FAILED}; \
	fi

${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} ${OBJS_EXTRA}
	${LINK_STATUS}
	rm -f $@








	out="$@"; \
	objs=""; \
	ars=""; \
	for i in ${OBJS} ${OBJS_EXTRA}; do \
		case $$i in \
			*.a) \
				ars="$$ars $$i" \
				;; \
			*.o) \
				objs="$$objs $$i" \
				;; \
		esac \
	done; \
	for i in $$ars; do \
		dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
		rm -fr $$dir; \
		mkdir -p $$dir; \
		cd $$dir; \
		${AR} x ../$$i; \
		for j in *.o; do \
			objs="$$objs $$dir/$$j"; \
		done; \
		cd ..; \
	done; \
	if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
		${LINK_OK}; \
	else \
		${LINK_FAILED}; \
		rm -f $@; \
	fi; \
	for i in $$ars; do \
		dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
		rm -fr $$dir; \
	done


${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
	${LINK_STATUS}
	rm -f $@








	out="$@"; \
	objs=""; \
	ars=""; \
	for i in ${LIB_OBJS} ${LIB_OBJS_EXTRA}; do \
		case $$i in \
			*.a) \
				ars="$$ars $$i" \
				;; \
			*.o) \
				objs="$$objs $$i" \
				;; \
		esac \
	done; \
	for i in $$ars; do \
		dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
		rm -fr $$dir; \
		mkdir -p $$dir; \
		cd $$dir; \
		${AR} x ../$$i; \
		for j in *.o; do \
			objs="$$objs $$dir/$$j"; \
		done; \
		cd ..; \
	done; \
	if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
		${LINK_OK}; \
	else \
		${LINK_FAILED}; \
		rm -f $@; \
	fi; \
	for i in $$ars; do \
		dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
		rm -fr $$dir; \
	done


locales: ${MO_FILES}

.c.o:
	${COMPILE_STATUS}
	in="$<"; \
	out="$@"; \







>
>
>
>
>
>
>
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>




>
>
>
>
>
>
>
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>







299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
	else \
		${LINK_FAILED}; \
	fi

${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} ${OBJS_EXTRA}
	${LINK_STATUS}
	rm -f $@
	if test x"${BUILD_AND_HOST_ARE_DARWIN}" = x"yes"; then \
		if /usr/bin/libtool -static -o $@ ${OBJS} ${OBJS_EXTRA}; then \
			${LINK_OK}; \
		else \
			${LINK_FAILED}; \
			rm -f $@; \
		fi; \
	else \
		out="$@"; \
		objs=""; \
		ars=""; \
		for i in ${OBJS} ${OBJS_EXTRA}; do \
			case $$i in \
				*.a) \
					ars="$$ars $$i" \
					;; \
				*.o) \
					objs="$$objs $$i" \
					;; \
			esac \
		done; \
		for i in $$ars; do \
			dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
			rm -fr $$dir; \
			mkdir -p $$dir; \
			cd $$dir; \
			${AR} x ../$$i; \
			for j in *.o; do \
				objs="$$objs $$dir/$$j"; \
			done; \
			cd ..; \
		done; \
		if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
			${LINK_OK}; \
		else \
			${LINK_FAILED}; \
			rm -f $@; \
		fi; \
		for i in $$ars; do \
			dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
			rm -fr $$dir; \
		done; \
	fi

${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
	${LINK_STATUS}
	rm -f $@
	if test x"${BUILD_AND_HOST_ARE_DARWIN}" = x"yes"; then \
		if /usr/bin/libtool -static -o $@ ${OBJS} ${OBJS_EXTRA}; then \
			${LINK_OK}; \
		else \
			${LINK_FAILED}; \
			rm -f $@; \
		fi; \
	else \
		out="$@"; \
		objs=""; \
		ars=""; \
		for i in ${LIB_OBJS} ${LIB_OBJS_EXTRA}; do \
			case $$i in \
				*.a) \
					ars="$$ars $$i" \
					;; \
				*.o) \
					objs="$$objs $$i" \
					;; \
			esac \
		done; \
		for i in $$ars; do \
			dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
			rm -fr $$dir; \
			mkdir -p $$dir; \
			cd $$dir; \
			${AR} x ../$$i; \
			for j in *.o; do \
				objs="$$objs $$dir/$$j"; \
			done; \
			cd ..; \
		done; \
		if ${AR} cr $@ $$objs && ${RANLIB} $@; then \
			${LINK_OK}; \
		else \
			${LINK_FAILED}; \
			rm -f $@; \
		fi; \
		for i in $$ars; do \
			dir=".$$(echo $$i | sed 's/\//_/g').objs"; \
			rm -fr $$dir; \
		done; \
	fi

locales: ${MO_FILES}

.c.o:
	${COMPILE_STATUS}
	in="$<"; \
	out="$@"; \

Modified m4/buildsys.m4 from [3aa154573a] to [54420c9822].

18
19
20
21
22
23
24













25
26
27
28
29
30
31
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

AC_DEFUN([BUILDSYS_INIT], [













	AC_CONFIG_COMMANDS_PRE([
		AC_SUBST(CC_DEPENDS, $GCC)
		AC_SUBST(CXX_DEPENDS, $GXX)
		AC_SUBST(OBJC_DEPENDS, $GOBJC)
		AC_SUBST(OBJCXX_DEPENDS, $GOBJCXX)

		AC_PATH_PROG(TPUT, tput)







>
>
>
>
>
>
>
>
>
>
>
>
>







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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

AC_DEFUN([BUILDSYS_INIT], [
	AC_REQUIRE([AC_CANONICAL_BUILD])
	AC_REQUIRE([AC_CANONICAL_HOST])

	case "$build_os" in
		darwin*)
			case "$host_os" in
				darwin*)
					AC_SUBST(BUILD_AND_HOST_ARE_DARWIN, yes)
					;;
			esac
			;;
	esac

	AC_CONFIG_COMMANDS_PRE([
		AC_SUBST(CC_DEPENDS, $GCC)
		AC_SUBST(CXX_DEPENDS, $GXX)
		AC_SUBST(OBJC_DEPENDS, $GOBJC)
		AC_SUBST(OBJCXX_DEPENDS, $GOBJCXX)

		AC_PATH_PROG(TPUT, tput)