Check-in [4e6359ae47]
Overview
Comment:Fixed incorrectly applied previous commit
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4e6359ae47b826637f4a3104a3c46ab9672a2550
User & Date: rkeene on 2014-05-05 16:29:34
Other Links: manifest | tags
Context
2014-05-05
17:16
Updated to keep GCC headers into gcc directory check-in: e8cbf3c10e user: rkeene tags: trunk
16:29
Fixed incorrectly applied previous commit check-in: 4e6359ae47 user: rkeene tags: trunk
16:22
Merged in alternate trunk from old development check-in: 75e4d5fbed user: rkeene tags: trunk
Changes

Modified Makefile.in from [a2cdbe9632] to [a463bb46e0].







1

2
3
4
5
6
7
8
9

10
11


12

13
14


15


16
17
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
45
46
47
48
49
50






CC = @CC@

AR = @AR@
RANLIB = @RANLIB@
CFLAGS = @CFLAGS@ @SHOBJFLAGS@
CPPFLAGS = @CPPFLAGS@ -I@srcdir@ @DEFS@
LDFLAGS =
SHOBJLDFLAGS = @SHOBJLDFLAGS@
LIBS = @LIBS@
INSTALL = @INSTALL@

PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@


TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@

PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
TARGETS = @TARGETS@


srcdir = @srcdir@



all: $(TARGETS)








tcltcc.o: $(srcdir)/tcltcc.c







	$(CC) $(CPPFLAGS) $(CFLAGS) -o tcltcc.o -c $(srcdir)/tcltcc.c

tcltcc-shared.@SHOBJEXT@: tcltcc.o
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o tcltcc-shared.@SHOBJEXT@ tcltcc.o $(LIBS)



tcltcc-static.a: tcltcc.o

	$(AR) rcu tcltcc-static.a tcltcc.o
	-$(RANLIB) tcltcc-static.a


install: $(TARGETS) pkgIndex.tcl
	$(INSTALL) -d "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"



	$(INSTALL) -m 0644 pkgIndex.tcl "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"











	$(INSTALL) -m 0755 $(TARGETS) "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"















clean:
	rm -f tcltcc.o
	rm -f tcltcc-shared.@SHOBJEXT@ tcltcc-static.a
	rm -f tcltcc-shared.@SHOBJEXT@.a tcltcc-shared.@SHOBJEXT@.def




distclean: clean
	rm -rf autom4te.cache
	rm -f config.log config.status
	rm -f pkgIndex.tcl
	rm -f Makefile


mrproper: distclean
	rm -rf __TMP__ tcc
	rm -f configure aclocal.m4
	rm -f config.guess config.sub install-sh

.PHONY: all install clean distclean mrproper
>
>
>
>
>
>

>



|




>


>
>

>
|
<
>
>

>
>

|

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

|
|
>
>

|
>
|
|
>

|

>
>
>

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

>
>
>
>
>
>
>

|
|
|
>
>
>




|

>


|



|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
prefix = UNSPECIFIED
exec_prefix = @exec_prefix@
libdir = @libdir@

TARGET = @TARGET@

CC = @CC@
CPP = @CPP@
AR = @AR@
RANLIB = @RANLIB@
CFLAGS = @CFLAGS@ @SHOBJFLAGS@
CPPFLAGS = @CPPFLAGS@ -I@srcdir@ -I@srcdir@/tcc -Itcc @DEFS@
LDFLAGS =
SHOBJLDFLAGS = @SHOBJLDFLAGS@
LIBS = @LIBS@
INSTALL = @INSTALL@

PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@

TCLCONFIGPATH = @TCLCONFIGPATH@
TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
tcllibdir = $(shell if echo "$(libdir)" | grep '^UNSPECIFIED' >/dev/null; then echo $(TCL_PACKAGE_PATH); else echo "$(libdir)"; fi)
PACKAGE_INSTALL_DIR = $(tcllibdir)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)

TCC_CONFIGURE_OPTS = --extra-cflags='$(CPPFLAGS) $(CFLAGS)' --with-tcl=$(TCLCONFIGPATH) --sysincludepaths='{B}/include' --libpaths='{B}/lib' @TCC_CONFIGURE_OPTS@
INSTALL_HEADERS = tcl.h assert.h ctype.h errno.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h time.h wctype.h
srcdir = @srcdir@
host_os = @host_os@
@SET_MAKE@

all: $(TARGET)

tcc/config.h:
	if [ "$(srcdir)" = "." ]; then \
		cd tcc && ./configure $(TCC_CONFIGURE_OPTS); \
	else \
		mkdir tcc >/dev/null 2>/dev/null; \
		cd tcc && $(shell cd $(srcdir) && pwd)/tcc/configure $(TCC_CONFIGURE_OPTS); \
	fi

tcc/libtcc.a: tcc/config.h
	$(MAKE) -C tcc libtcc.a

tcc/libtcc1.a: tcc/config.h
	$(MAKE) -C tcc libtcc1.a

tcc4tcl.o: $(srcdir)/tcc4tcl.c $(srcdir)/tcc/tcc.h $(srcdir)/tcc/libtcc.h tcc/config.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tcc4tcl.o -c $(srcdir)/tcc4tcl.c

tcc4tcl.@SHOBJEXT@: tcc4tcl.o tcc/libtcc.a
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o tcc4tcl.@SHOBJEXT@ tcc4tcl.o tcc/libtcc.a $(LIBS)
	-@WEAKENSYMS@ tcc4tcl.@SHOBJEXT@
	-@REMOVESYMS@ tcc4tcl.@SHOBJEXT@

tcc4tcl-static.a: tcc4tcl.o tcc/libtcc.a
	cp tcc/libtcc.a tcc4tcl-static.new.a
	$(AR) rcu tcc4tcl-static.new.a tcc4tcl.o
	-$(RANLIB) tcc4tcl-static.new.a
	mv tcc4tcl-static.new.a tcc4tcl-static.a

install: $(TARGET) pkgIndex.tcl $(srcdir)/tcc4tcl.tcl tcc/libtcc1.a $(shell echo $(srcdir)/tcc/include/*) $(srcdir)/headers.awk
	$(INSTALL) -d "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"
	$(INSTALL) -d "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/lib"
	$(INSTALL) -d "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/include"
	$(INSTALL) -m 0755 $(TARGET) "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"
	$(INSTALL) -m 0644 pkgIndex.tcl "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"
	$(INSTALL) -m 0644 $(srcdir)/tcc4tcl.tcl "$(DESTDIR)$(PACKAGE_INSTALL_DIR)"
	$(INSTALL) -m 0644 tcc/libtcc1.a "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/lib"
	$(INSTALL) -m 0644 $(shell echo $(srcdir)/tcc/include/*) "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/include"
	@if ! echo "_WIN32" | $(CPP) $(CPPFLAGS) - | grep '^_WIN32$$' >/dev/null; then \
		echo cp -r $(srcdir)/tcc/win32/include/* "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/include/"; \
		cp -r $(srcdir)/tcc/win32/include/* "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/include/"; \
		echo cp -r $(srcdir)/tcc/win32/lib/*.def "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/lib/"; \
		cp -r $(srcdir)/tcc/win32/lib/*.def "$(DESTDIR)$(PACKAGE_INSTALL_DIR)/lib/"; \
	fi
	( for file in $(INSTALL_HEADERS); do echo "#include <$${file}>"; done ) | \
		$(CPP) $(CPPFLAGS) $(CFLAGS) -I$(srcdir)/tcc/include -I$(srcdir)/tcc/include - | awk -f $(srcdir)/headers.awk | while read src dst; do \
			dst="$(DESTDIR)$(PACKAGE_INSTALL_DIR)/include/$$dst"; \
			if [ -e "$${dst}" ]; then continue; fi; \
			dstdir="$$(dirname "$$dst")"; \
			echo mkdir -p "$$dstdir"; \
			mkdir -p "$$dstdir"; \
			echo cp "$$src" "$$dst"; \
			cp "$$src" "$$dst"; \
		done

test:
	rm -rf __TMP__
	$(MAKE) install tcllibdir=$(shell pwd)/__TMP__
	cd __TMP__/* && ../../test
	echo Tests Completed OK > TEST-STATUS
	rm -rf __TMP__

clean:
	rm -f tcc4tcl.o
	rm -f tcc4tcl.@SHOBJEXT@ tcc4tcl-static.a
	rm -f tcc4tcl.@SHOBJEXT@.a tcc4tcl.@SHOBJEXT@.def
	rm -rf __TMP__
	rm -f TEST-STATUS
	-$(MAKE) -C tcc clean

distclean: clean
	rm -rf autom4te.cache
	rm -f config.log config.status
	rm -f pkgIndex.tcl tcc4tcl.syms tcc4tcl.vers
	rm -f Makefile
	-$(MAKE) -C tcc distclean

mrproper: distclean
	rm -rf tcc
	rm -f configure aclocal.m4
	rm -f config.guess config.sub install-sh

.PHONY: all install test clean distclean mrproper

Modified build/pre.sh from [29bd57d26a] to [a84ae705c9].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

18
19


20

21

22
23

24

25






26
27
28
29
30
31
#! /bin/bash

cd "$(dirname "$(which "$0")")/.." || exit 1

# Generate configure script
./build/autogen.sh

# Download TCC
(
	TCC_VERSION="0.9.26"
	TCC_URL="http://download.savannah.gnu.org/releases/tinycc/tcc-${TCC_VERSION}.tar.bz2"
	TCC_SHA256='521e701ae436c302545c3f973a9c9b7e2694769c71d9be10f70a2460705b6d71'

	rm -rf __TMP__
	mkdir __TMP__ || exit 1
	cd __TMP__ || exit 1
	wget -O tcc.tar.bz2.new "${TCC_URL}" || rm -f tcc.tar.bz2.new

	TCC_NEW_SHA256="$(openssl sha256 < tcc.tar.bz2.new | sed 's@.*= *@@')"



	if [ "${TCC_NEW_SHA256}" = "${TCC_SHA256}" ]; then

		mv tcc.tar.bz2.new tcc.tar.bz2

	fi


	tar -xf tcc.tar.bz2

	rm -f tcc.tar.bz2







	rm -rf ../tcc
	mkdir ../tcc || exit 1
	mv */* ../tcc/
)
rm -rf __TMP__








<
|
|
|
|



|
>
|

>
>
|
>
|
>


>
|
>
|
>
>
>
>
>
>






1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
16
17
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
#! /bin/bash

cd "$(dirname "$(which "$0")")/.." || exit 1

# Generate configure script
./build/autogen.sh

# Download TCC

tcc_version='0.9.26'
tcc_url="http://download.savannah.gnu.org/releases/tinycc/tcc-${tcc_version}.tar.bz2"
tcc_sha256='521e701ae436c302545c3f973a9c9b7e2694769c71d9be10f70a2460705b6d71'
(
	rm -rf __TMP__
	mkdir __TMP__ || exit 1
	cd __TMP__ || exit 1

	wget -O 'new' "${tcc_url}" || rm -f new
	new_sha256="$(openssl sha256 new | sed 's@.*= *@@')"

	if [ "${new_sha256}" != "${tcc_sha256}" ]; then
		echo "Checksum Mismatch: Downloaded: ${new_sha256}; Expected: ${tcc_sha256}" >&2

		rm -f new

		exit 1
	fi

	mv new "tcc-${tcc_version}.tar.bz2"

	bzip2 -dc "tcc-${tcc_version}.tar.bz2" | tar -xf -

	rm -f "tcc-${tcc_version}.tar.bz2"

	## Apply patches
	for patchfile in ../build/tcc-patches/${tcc_version}/*.diff; do
		( cd * && patch -p1 ) < "${patchfile}"
	done

	rm -rf ../tcc
	mkdir ../tcc || exit 1
	mv */* ../tcc/
)
rm -rf __TMP__

Modified configure.ac from [4fb589986a] to [ed00a008d9].

1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
16
17
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
45






46
47
dnl Define ourselves
AC_INIT(tcc4tcl, @@VERS@@)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_GNU_SOURCE


dnl Determine system information
DC_CHK_OS_INFO

dnl Determine if a shared or static build is requested
AC_ARG_ENABLE([static], AS_HELP_STRING([--enable-static], [build static library instead of shared library]), [
	if test "$enableval" = "no"; then
		target=shared
	else
		target=static
	fi
], [
	target=shared
])










if test "${target}" = "shared"; then
	dnl Determine how to make shared objects
	DC_GET_SHOBJFLAGS


	TARGETS="tcltcc-shared.${SHOBJEXT}"


























else
	TARGETS="tcltcc-static.a"
fi
AC_SUBST(TARGETS)


dnl Find out if we have the functions needed to open shared objects
AC_SEARCH_LIBS(dlopen, dl,, [
        AC_SEARCH_LIBS(shl_load, dld dl)
])
AC_CHECK_FUNCS(dlopen shl_load)

dnl Look for appropriate headers
AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h dlfcn.h dl.h)

dnl Perform Tcl Extension required stuff
TCLEXT_INIT







dnl Produce output
AC_OUTPUT(Makefile pkgIndex.tcl)








>







|

|


|


>
>
>
>
>
>
>
>
>
|



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

|

|
>













>
>
>
>
>
>

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
dnl Define ourselves
AC_INIT(tcc4tcl, @@VERS@@)

dnl Checks for programs.
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_GNU_SOURCE
AC_LANG(C)

dnl Determine system information
DC_CHK_OS_INFO

dnl Determine if a shared or static build is requested
AC_ARG_ENABLE([static], AS_HELP_STRING([--enable-static], [build static library instead of shared library]), [
	if test "$enableval" = "no"; then
		TCC4TCL_TARGET=static
	else
		TCC4TCL_TARGET=shared
	fi
], [
	TCC4TCL_TARGET=shared
])

dnl Configure TCC build options
AC_SUBST(TCC_CONFIGURE_OPTS)
TCC_CONFIGURE_OPTS=""

dnl -- If cross-compiling, specify a "--cross-prefix" and define the CPU
if test "${host}" != "${build}"; then
	TCC_CONFIGURE_OPTS="${TCC_CONFIGURE_OPTS} --cross-prefix=${host_alias}- --cpu=${host_cpu} --os=${host_os}"
fi

if test "${TCC4TCL_TARGET}" = "shared"; then
	dnl Determine how to make shared objects
	DC_GET_SHOBJFLAGS

	dnl Only export symbols we wish to expose
	TARGET="tcc4tcl.${SHOBJEXT}"

	AC_CHECK_HEADERS(windows.h)
	AC_CHECK_HEADERS(psapi.h,,, [
#ifdef HAVE_WINDOWS_H
#  include <windows.h>
#endif
])

	AC_MSG_CHECKING([for EnumProcessModules in -lpsapi])
	SAVE_LIBS="$LIBS"
	LIBS="-lpsapi $LIBS"
	AC_LINK_IFELSE([AC_LANG_PROGRAM([
#ifdef HAVE_WINDOWS_H
#  include <windows.h>
#endif
#ifdef HAVE_PSAPI_H
#  include <psapi.h>
#endif
], [
	EnumProcessModules(NULL, NULL, 0, NULL);
])], [
	AC_MSG_RESULT([found])
], [
	AC_MSG_RESULT([not found])
	LIBS="$SAVE_LIBS"
])
else
	TARGET="tcc4tcl-static.a"
fi
AC_SUBST(TARGET)
AC_SUBST(TCC4TCL_TARGET)

dnl Find out if we have the functions needed to open shared objects
AC_SEARCH_LIBS(dlopen, dl,, [
        AC_SEARCH_LIBS(shl_load, dld dl)
])
AC_CHECK_FUNCS(dlopen shl_load)

dnl Look for appropriate headers
AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h dlfcn.h dl.h)

dnl Perform Tcl Extension required stuff
TCLEXT_INIT

dnl This must be done last since it breaks the compilation
if test "${TCC4TCL_TARGET}" = "shared"; then
	DC_SETVERSIONSCRIPT([tcc4tcl.syms], [tcc4tcl.vers])
	DC_FIND_STRIP_AND_REMOVESYMS([tcc4tcl.syms])
fi

dnl Produce output
AC_OUTPUT(Makefile pkgIndex.tcl tcc4tcl.syms)