Index: server/buildpkgs/common.sh ================================================================== --- server/buildpkgs/common.sh +++ server/buildpkgs/common.sh @@ -26,10 +26,24 @@ for platform in "$@"; do if [ "${PLATFORM}" = "${platform}" ]; then return 0 fi done + + rm -rf out + + exit 0 +} + +function only_platforms_regexp () { + local platform_re + + for platform_re in "$@"; do + if echo "${PLATFORM}" | grep -- "${platform_re}" >/dev/null; then + return 0 + fi + done rm -rf out exit 0 } Index: server/buildpkgs/tcc/build.sh ================================================================== --- server/buildpkgs/tcc/build.sh +++ server/buildpkgs/tcc/build.sh @@ -11,27 +11,43 @@ source ../common.sh # Do not build if the "tcl" platform has been requested not_platforms 'tcl' +# Only build for the following platforms +only_platforms_regexp '-ix86$' '-x86_64$' + # Download source download_src -# Build package +# Extract package ( rm -rf build - mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null mkdir build cd build/ || exit 1 mkdir "${BUILDDIR}" cd "${BUILDDIR}" || exit 1 unzip -q "../../${SRC}" +) + +# Apply patches +apply_patches + +# Build package +( + mkdir -p "${PLATDIR}" >/dev/null 2>/dev/null + + cd "build" || exit 1 + cd "${BUILDDIR}" || exit 1 # TCC ships with object files in the way ${MAKE:-make} distclean >/dev/null 2>/dev/null + + # This file needs to be executable, but it is not by default in 0.4 + chmod +x tclconfig/install-sh bash ./configure --enable-shared --enable-threads --with-tcl="${TCLCONFIGDIR}" --prefix="${PLATDIR}" --libdir="${PLATDIR}" --bindir="${PLATDIR}" ${CONFIGUREEXTRA} ${MAKE:-make} || exit 1 ADDED server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixinstall.diff Index: server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixinstall.diff ================================================================== --- server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixinstall.diff +++ server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixinstall.diff @@ -0,0 +1,24 @@ +diff -uNr tcltcc-0.4.orig/configure tcltcc-0.4-fixinstall/configure +--- tcltcc-0.4.orig/configure 2007-11-07 10:12:28.000000000 -0600 ++++ tcltcc-0.4-fixinstall/configure 2011-07-25 13:36:53.000000000 -0500 +@@ -6649,7 +6649,7 @@ + + + +- vars="" ++ vars="tcc.tcl" + for i in $vars; do + # check for existence, be strict because it is installed + if test ! -f "${srcdir}/$i" ; then +diff -uNr tcltcc-0.4.orig/configure.in tcltcc-0.4-fixinstall/configure.in +--- tcltcc-0.4.orig/configure.in 2007-11-07 10:05:48.000000000 -0600 ++++ tcltcc-0.4-fixinstall/configure.in 2011-07-25 13:36:05.000000000 -0500 +@@ -76,7 +76,7 @@ + TEA_ADD_LIBS([]) + TEA_ADD_CFLAGS([-DLIBTCC -DDLL_EXPORT=""]) + TEA_ADD_STUB_SOURCES([]) +-TEA_ADD_TCL_SOURCES([]) ++TEA_ADD_TCL_SOURCES([tcc.tcl]) + + #-------------------------------------------------------------------- + # __CHANGE__ ADDED server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixvers.diff Index: server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixvers.diff ================================================================== --- server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixvers.diff +++ server/buildpkgs/tcc/patches/0.4/tcltcc-0.4-fixvers.diff @@ -0,0 +1,94 @@ +diff -uNr tcltcc-0.4.orig/demo/pingpong.test tcltcc-0.4-fixvers/demo/pingpong.test +--- tcltcc-0.4.orig/demo/pingpong.test 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/demo/pingpong.test 2011-07-25 13:38:06.000000000 -0500 +@@ -5,7 +5,7 @@ + + set dir [file dirname [info script]]/.. + source $dir/pkgIndex.tcl +-package require tcc 0.2 ++package require tcc 0.4 + + #-- this code shall in the future be generated by: + #-- cfunc tcl_mul {int a int b} int {expr {$a*$b}}} +diff -uNr tcltcc-0.4.orig/demo/tcc-compile.tcl tcltcc-0.4-fixvers/demo/tcc-compile.tcl +--- tcltcc-0.4.orig/demo/tcc-compile.tcl 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/demo/tcc-compile.tcl 2011-07-25 13:38:17.000000000 -0500 +@@ -1,6 +1,6 @@ + switch -exact -- $::tcl_platform(platform) { +- windows {load ../tcc02.dll} +- unix {load ../libtcc0.2.so} ++ windows {load ../tcc04.dll} ++ unix {load ../libtcc0.4.so} + } + tcc .. dll tcc_1 + set t tcc_1 +@@ -8,7 +8,7 @@ + $t add_include_path ../generic/i386 + $t add_include_path ../generic + $t define PACKAGE_NAME \"tcc\" +-$t define PACKAGE_VERSION \"0.2\" ++$t define PACKAGE_VERSION \"0.4\" + $t define DLL_EXPORT {__declspec(dllexport)} + $t define LIBTCC 1 + $t define WIN32 1 +diff -uNr tcltcc-0.4.orig/demo/tdom-compile-dll.tcl tcltcc-0.4-fixvers/demo/tdom-compile-dll.tcl +--- tcltcc-0.4.orig/demo/tdom-compile-dll.tcl 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/demo/tdom-compile-dll.tcl 2011-07-25 13:38:26.000000000 -0500 +@@ -1,6 +1,6 @@ + switch -exact -- $::tcl_platform(platform) { +- windows {load ../tcc02.dll} +- unix {load ../libtcc0.2.so} ++ windows {load ../tcc04.dll} ++ unix {load ../libtcc0.4.so} + } + tcc ../pkg dll tcc_1 + set t tcc_1 +diff -uNr tcltcc-0.4.orig/demo/tdom-compile.tcl tcltcc-0.4-fixvers/demo/tdom-compile.tcl +--- tcltcc-0.4.orig/demo/tdom-compile.tcl 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/demo/tdom-compile.tcl 2011-07-25 13:38:32.000000000 -0500 +@@ -1,6 +1,6 @@ + switch -exact -- $::tcl_platform(platform) { +- windows {load ../tcc02.dll} +- unix {load ../libtcc0.2.so} ++ windows {load ../tcc04.dll} ++ unix {load ../libtcc0.4.so} + } + tcc ../pkg tcc_1 + set t tcc_1 +diff -uNr tcltcc-0.4.orig/demo/testtcc.tcl tcltcc-0.4-fixvers/demo/testtcc.tcl +--- tcltcc-0.4.orig/demo/testtcc.tcl 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/demo/testtcc.tcl 2011-07-25 13:38:38.000000000 -0500 +@@ -1,4 +1,4 @@ +-load ../libtcc0.2.so ++load ../libtcc0.4.so + # second parameter is the path to the tcc libraries + tcc ../pkg tcc1 + +diff -uNr tcltcc-0.4.orig/tcc.tcl tcltcc-0.4-fixvers/tcc.tcl +--- tcltcc-0.4.orig/tcc.tcl 2007-11-07 10:04:42.000000000 -0600 ++++ tcltcc-0.4-fixvers/tcc.tcl 2011-07-25 13:38:54.000000000 -0500 +@@ -10,8 +10,8 @@ + + set dir [file dirname [info script]] + switch -exact -- $::tcl_platform(platform) { +- windows { load $dir/tcc02.dll tcc } +- unix { load $dir/libtcc0.2.so tcc } ++ windows { load $dir/tcc04.dll tcc } ++ unix { load $dir/libtcc0.4.so tcc } + default {error "unsupport platform"} + } + set libs $dir/lib +diff -uNr tcltcc-0.4.orig/tests/tcc.test tcltcc-0.4-fixvers/tests/tcc.test +--- tcltcc-0.4.orig/tests/tcc.test 2007-11-07 10:04:20.000000000 -0600 ++++ tcltcc-0.4-fixvers/tests/tcc.test 2011-07-25 13:38:45.000000000 -0500 +@@ -6,8 +6,8 @@ + test tcc-1 "load library" { + set dir [file dirname [info script]]/.. + source $dir/pkgIndex.tcl +- package require tcc 0.2 +-} 0.2 ++ package require tcc 0.4 ++} 0.4 + test tcc-2 "very simple command" { + tcc $::tcc::dir tcc1 + tcc1 add_library tcl8.5