aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-06-22 13:41:47 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2008-06-22 13:41:47 -0700
commitfea0d8585c4583cab3f8413c58a201dba1993320 (patch)
tree2b0074bff6669363cc0946176877bfe4ddee9f3a
downloadcrossdev-fea0d8585c4583cab3f8413c58a201dba1993320.tar.gz
crossdev-fea0d8585c4583cab3f8413c58a201dba1993320.tar.bz2
crossdev-fea0d8585c4583cab3f8413c58a201dba1993320.zip
Initial commit to crossdev repo.
-rw-r--r--wrappers/Makefile32
-rwxr-xr-xwrappers/cross-emerge19
-rwxr-xr-xwrappers/cross-fix-root48
-rwxr-xr-xwrappers/cross-pkg-config52
-rwxr-xr-xwrappers/emerge-wrapper82
-rw-r--r--wrappers/etc/make.conf39
l---------wrappers/etc/make.globals1
-rw-r--r--wrappers/etc/portage/bashrc13
-rw-r--r--wrappers/etc/portage/env/sys-apps/busybox5
-rw-r--r--wrappers/site/arm-linux-uclibc26
-rw-r--r--wrappers/site/armeb-linux-uclibc26
-rw-r--r--wrappers/site/avr32-linux-uclibc26
-rwxr-xr-xwrappers/site/config.site47
-rw-r--r--wrappers/site/cris-linux-uclibc1
-rw-r--r--wrappers/site/darwin4
-rw-r--r--wrappers/site/i386-linux-uclibc26
-rw-r--r--wrappers/site/i686-linux-uclibc26
-rw-r--r--wrappers/site/linux18
-rw-r--r--wrappers/site/linux-uclibc69
-rw-r--r--wrappers/site/mips-linux-uclibc26
-rw-r--r--wrappers/site/mipsel-linux-uclibc26
-rw-r--r--wrappers/site/powerpc-linux-uclibc26
-rw-r--r--wrappers/site/x86_64-linux-uclibc26
23 files changed, 664 insertions, 0 deletions
diff --git a/wrappers/Makefile b/wrappers/Makefile
new file mode 100644
index 0000000..7ad6a95
--- /dev/null
+++ b/wrappers/Makefile
@@ -0,0 +1,32 @@
+# Copyright 2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# -solar
+
+DESTDIR ?= /
+PREFIX ?= /usr/local
+
+PORTDIR ?= $(shell portageq envvar PORTDIR)
+FNAMES = cross-emerge cross-fix-root cross-pkg-config emerge-wrapper
+SITE = $(PREFIX)/share/crossdev/include/site
+TOPDIR=
+
+all:
+ @:
+
+install:
+ mkdir -p $(DESTDIR)/$(PREFIX)/bin/ $(DESTDIR)/$(SITE)
+ cp $(FNAMES) $(DESTDIR)/$(PREFIX)/bin/
+ cp -a etc $(DESTDIR)/$(PREFIX)/share/crossdev/
+ cp -a site $(DESTDIR)/$(PREFIX)/share/crossdev/include/
+ sed -i -e s@__PREFIX__@$(PREFIX)@g $(DESTDIR)/$(PREFIX)/bin/emerge-wrapper
+ sed -i -e s@__TOPDIR__@$(SITE)@g $(DESTDIR)/$(SITE)/config.site
+ mv $(DESTDIR)/$(SITE)/config.site $(DESTDIR)/$(PREFIX)/share/
+ ( cd $(DESTDIR)/$(PREFIX)/share/crossdev/etc && ln -sf $(PORTDIR)/profiles/embedded make.profile )
+
+uninstall:
+ @for x in $(FNAMES) ; do rm -f $(DESTDIR)/$(PREFIX)/bin/$$x ; done
+
+dist:
+ cd ../ ; tar jcvf crossdev-wrappers-`date -u +%Y%m%d`.tar.bz2 crossdev-wrappers
diff --git a/wrappers/cross-emerge b/wrappers/cross-emerge
new file mode 100755
index 0000000..27f10b0
--- /dev/null
+++ b/wrappers/cross-emerge
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Copyright 2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# -solar
+
+[[ $CHOST == "" ]] && { echo "CHOST is not set" ; exit 1 ; }
+
+export CBUILD=$(portageq envvar CBUILD)
+export SYSROOT="/usr/${CHOST}"
+export PORTAGE_CONFIGROOT="/usr/${CHOST}"
+
+FAKEROOT=
+if [[ $(id -u) != 0 ]]; then
+ [[ $(type -p fakeroot) != "" ]] && FAKEROOT=fakeroot
+fi
+
+${FAKEROOT} emerge -q "$@"
diff --git a/wrappers/cross-fix-root b/wrappers/cross-fix-root
new file mode 100755
index 0000000..a8469c2
--- /dev/null
+++ b/wrappers/cross-fix-root
@@ -0,0 +1,48 @@
+#!/bin/bash
+# Copyright 2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# - solar
+
+CROSS_ROOT=""
+[[ $1 != "" ]] && [ -e /usr/$1 ] && CROSS_ROOT="/usr/$1"
+[[ -e ${CROSS_ROOT} ]] || exit 0
+
+function strip_path() {
+ echo $1 | grep -Eo "[^\/]+$"
+}
+
+function re_safe() {
+ echo $1 | gawk '{ gsub("/","\\/"); print }'
+}
+
+fix_la_files() {
+ count=0
+ for LA in $(find $CROSS_ROOT/usr/lib/ -iname *.la); do
+ [ -e $LA ] || continue
+ count=$(($count+1))
+ sed -i -e "s;libdir='/usr/lib';libdir='$CROSS_ROOT/usr/lib';" \
+ -e s@" /usr/lib"@" ${CROSS_ROOT}/usr/lib"@g $LA
+ [[ $? != 0 ]] && printf "FAIL $LA or $CROSS_ROOT FAILED sucka\n"
+ done
+ return $count
+}
+
+fix_pc_files() {
+ count=0
+ for PC in $CROSS_ROOT/usr/lib/pkgconfig/*.pc; do
+ [ -e $PC ] || continue
+ sed -i -e "s/^prefix\\=\\/usr$/prefix\=$(re_safe "$CROSS_ROOT")\\/usr/" $PC
+ count=$(($count+1))
+ [[ $? != 0 ]] && printf "Fixing $PC for $CROSS_ROOT FAILED sucka\n"
+ done
+ return $count
+}
+
+fix_la_files ${CROSS_ROOT}
+la_count=$?
+fix_pc_files ${CROSS_ROOT}
+pc_count=$?
+:
+( . /sbin/functions.sh ; einfo "Scanned/Fixed $pc_count "'*'".pc and $la_count "'*'".la files" )
diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
new file mode 100755
index 0000000..ea70b6f
--- /dev/null
+++ b/wrappers/cross-pkg-config
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Copyright 2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# -solar
+# Also uses vapier's code from uclinux-dist
+
+if [[ "x$ROOT" == "x" ]]; then
+ exit 1
+fi
+
+# Helper functions. So very helpful.
+#
+msg_to_stderr() { echo "cross-pkg-config: $*" 1>&2 ; }
+warn() { msg_to_stderr "warning: $*" ; }
+error() {
+ msg_to_stderr "error: $*"
+ exit 1
+}
+
+
+SYSROOT="$ROOT"
+export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig"
+unset PKG_CONFIG_PATH PKG_CONFIG_ALLOW_SYSTEM_CFLAGS PKG_CONFIG_ALLOW_SYSTEM_LIBS
+#export PKG_CONFIG_DEBUG_SPEW="yes" #enable for debug
+
+#
+# Sanity check the output to catch common errors that do not
+# cause failures until much later on.
+#
+output=$(pkg-config "$@")
+ret=$?
+case " ${output} " in
+ *" -L/usr/lib "*|*" -L/usr/local/lib "*|\
+ *" -L /usr/lib "*|*" -L /usr/local/lib "*|\
+ *" -L/usr/lib64 "*|*" -L/usr/local/lib64 "*|\
+ *" -L /usr/lib64 "*|*" -L /usr/local/lib64 "*)
+ warn "### falling down so here is a dump state ######"
+ pkg-config --debug "$@" 1>&2
+ warn "### end of dump ###############################"
+ error "host -L paths detected: ${output}"
+ ;;
+ *" -I/usr/include"*|*" -I/usr/local/include"*)
+ warn "### falling down so here is a dump state ######"
+ pkg-config --debug "$@" 1>&2
+ warn "### end of dump ###############################"
+ error "host -I paths detected: ${output}"
+ ;;
+esac
+[ -n "${output}" ] && echo "${output}"
+exit ${ret}
diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
new file mode 100755
index 0000000..45b2010
--- /dev/null
+++ b/wrappers/emerge-wrapper
@@ -0,0 +1,82 @@
+#!/bin/bash
+# Copyright 2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# - solar
+
+cross_wrap_etc() {
+ local chost=$1
+ cp -a __PREFIX__/share/crossdev/etc /usr/$chost/
+
+ conf=/usr/$chost/etc/make.conf
+
+ if [[ ${chost:0:1} == "i" ]] && [[ ${chost:3:4} == "86" ]]; then
+ ARCH=x86
+ fi
+
+ if [[ ${chost:0:3} == "arm" ]]; then
+ E_MACHINE=EM_ARM
+ ARCH=arm
+ echo 'UCLIBC_CPU_DEFAULT="GENERIC_ARM"' >> ${conf}
+ fi
+
+ [[ $E_MACHINE != "" ]] && sed -i -e s/'#E_MACHINE=__E_MACHINE__'/E_MACHINE=${E_MACHINE}/g ${conf}
+ [[ $ARCH != "" ]] && sed -i -e s/__ARCH__/${ARCH}/g ${conf}
+ sed -i -e s/__CHOST__/${chost}/g -e s/__CBUILD__/${CBUILD}/g ${conf}
+ echo MAKEOPTS=-j$(cat /proc/cpuinfo | grep processor| wc -l) >> ${conf}
+ [[ ${overlay} != "" ]] && echo PORTDIR_OVERLAY=\"${overlay}\" >> ${conf}
+}
+
+cross_init() {
+ bn=$(basename $0)
+ [[ $bn != emerge-wrapper ]] && { echo "I wont understand things" ; exit 1; }
+ dn=$(dirname $(readlink -f $0))
+ chosts=$(gcc-config -l | awk '{print $2}'| grep -- -| cut -d '-' -f 1-4| sort -u)
+ cd $dn || { echo "Failed to cd to $dn" ; exit 1; }
+ export overlay=$(portageq envvar PORTDIR_OVERLAY)
+
+ for chost in $chosts; do
+ [[ $chost == $CBUILD ]] && continue
+ [[ $(type -p ${chost}-gcc) == "" ]] && continue
+ echo " * Setting up symlinks for $chost"
+ ln -sf emerge-wrapper emerge-${chost}
+ ln -sf emerge-wrapper ${chost}-emerge
+ ln -sf cross-pkg-config ${chost}-pkg-config
+ if [ -d /usr/${chost} ] ; then
+ if [[ ! -d /usr/${chost}/etc/ ]]; then
+ echo " * Setting up cross basics in /usr/${chost}/etc"
+ cross_wrap_etc $chost
+ fi
+ fi
+ done
+}
+
+# CBUILD must be the first thing we export
+export CBUILD=$(portageq envvar CBUILD)
+
+if [[ $1 == "--init" ]]; then
+ cross_init
+ exit 0
+fi
+
+CHOST=$(basename $0)
+CHOST=${CHOST/-emerge}
+CHOST=${CHOST/emerge-}
+export CHOST
+
+if [[ $CHOST == wrapper ]]; then
+ if [[ $1 == "--target" ]]; then
+ export CHOST=$2
+ shift 2
+ else
+ echo "After running this program with the --init option as root"
+ echo "you can call it directly like emerge-wrapper --target CHOST <emerge options>"
+ echo "or using the emerge-CHOST wrappers"
+ exit 1
+ fi
+fi
+
+[[ $(type -p ${CHOST}-gcc) == "" ]] && { echo "You need to 'crossdev $CHOST' first" ; exit 1; }
+
+cross-emerge "$@"
diff --git a/wrappers/etc/make.conf b/wrappers/etc/make.conf
new file mode 100644
index 0000000..e9b058e
--- /dev/null
+++ b/wrappers/etc/make.conf
@@ -0,0 +1,39 @@
+CHOST=__CHOST__
+CBUILD=__CBUILD__
+ARCH=__ARCH__
+
+HOSTCC=__CBUILD__-gcc
+#E_MACHINE=__E_MACHINE__
+
+ROOT=/usr/${CHOST}/
+
+ACCEPT_KEYWORDS="__ARCH__ ~__ARCH__"
+
+USE="${ARCH} zlib bindist make-symlinks minimal \
+ input_devices_keyboard input_devices_evdev \
+ video_cards_fbdev video_cards_dummy"
+
+#MARCH_TUNE="-march=armv4t -mtune=arm9tdmi" #arm-softfloat-linux-uclibc
+#MARCH_TUNE="-march=armv5t -mtune=xscale" #armv5teb-softfloat-linux-gnueabi
+
+CFLAGS="-Os -pipe ${MARCH_TUNE} -fomit-frame-pointer -I${ROOT}usr/include/ -I${ROOT}include/"
+CXXFLAGS="${CFLAGS}"
+LDFLAGS="-L${ROOT}usr/lib -L${ROOT}lib"
+
+FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc"
+# Be sure we dont overwrite pkgs from another repo..
+PKGDIR=${ROOT}packages/
+PORTAGE_TMPDIR=${ROOT}tmp/
+
+CLEAN_DELAY=0
+EPAUSE_IGNORE=1
+EBEEP_IGNORE=1
+PORTAGE_WORKDIR_MODE=2775
+PORTAGE_ECLASS_WARNING_ENABLE=0
+
+VIDEO_CARDS="fbdev dummy"
+INPUT_DEVICES="evdev keyboard mouse touchscreen"
+USE_EXPAND="video_cards input_devices"
+
+PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
+#PORTDIR_OVERLAY="/usr/portage/local/"
diff --git a/wrappers/etc/make.globals b/wrappers/etc/make.globals
new file mode 120000
index 0000000..213ed49
--- /dev/null
+++ b/wrappers/etc/make.globals
@@ -0,0 +1 @@
+/etc/make.globals \ No newline at end of file
diff --git a/wrappers/etc/portage/bashrc b/wrappers/etc/portage/bashrc
new file mode 100644
index 0000000..f59c65b
--- /dev/null
+++ b/wrappers/etc/portage/bashrc
@@ -0,0 +1,13 @@
+. ${PORTDIR}/profiles/base/profile.bashrc
+
+post_src_install() {
+ [[ -d ${D} ]] || return 0
+ [[ ${E_MACHINE} == "" ]] && return 0
+ output="$( cd ${D} && scanelf -RmyBF%a . | grep -v -e ^${E_MACHINE} )"
+ [[ $output != "" ]] && { echo; echo "* Wrong EM_TYPE. Expected ${E_MACHINE}"; echo -e "${output}"; echo; exit 1; }
+}
+
+# We dont functionize this to avoid sandboxing.
+if [[ $EBUILD_PHASE == "postinst" ]]; then
+ [[ $EMERGE_FROM != binary ]] && cross-fix-root ${CHOST}
+fi
diff --git a/wrappers/etc/portage/env/sys-apps/busybox b/wrappers/etc/portage/env/sys-apps/busybox
new file mode 100644
index 0000000..2090a62
--- /dev/null
+++ b/wrappers/etc/portage/env/sys-apps/busybox
@@ -0,0 +1,5 @@
+filter_cross_flags() {
+ [[ ${CFLAGS/-mtunue=/} != ${CFLAGS} ]]
+ export CFLAGS="-Os -fomit-frame-pointer -pipe"
+}
+filter_cross_flags
diff --git a/wrappers/site/arm-linux-uclibc b/wrappers/site/arm-linux-uclibc
new file mode 100644
index 0000000..f3087d8
--- /dev/null
+++ b/wrappers/site/arm-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/armeb-linux-uclibc b/wrappers/site/armeb-linux-uclibc
new file mode 100644
index 0000000..1005902
--- /dev/null
+++ b/wrappers/site/armeb-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/avr32-linux-uclibc b/wrappers/site/avr32-linux-uclibc
new file mode 100644
index 0000000..1005902
--- /dev/null
+++ b/wrappers/site/avr32-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/config.site b/wrappers/site/config.site
new file mode 100755
index 0000000..7e2282e
--- /dev/null
+++ b/wrappers/site/config.site
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+TOPDIR=__TOPDIR__
+
+config_site_arch() {
+ local host=$(echo ${CHOST/-/ } | awk '{print $1}')
+
+ [[ ${host/arm.*eb/} != ${host} ]] && host=armeb
+ [[ ${host/arm/} != ${host} ]] && [[ ${host} != armeb ]] && host=arm
+
+ [[ ${host/mips.*el/} != ${host} ]] && host=mipsel
+
+ #[[ ${host/i[4-5]/6} != ${host} ]] && host=i686
+
+ echo ${host}
+}
+
+config_site_names() {
+ local site_arch=$(config_site_arch)
+ local sites=""
+ local x
+
+ [[ ${CHOST/-linux-/} != $CHOST ]] && sites="${sites} linux"
+ [[ ${CHOST/darwin/} != $CHOST ]] && sites="${sites} darwin"
+
+ [[ ${CHOST/-linux-uclibc/} != $CHOST ]] && sites="${sites} ${site_arch}-linux-uclibc linux-uclibc"
+ [[ ${CHOST/-linux-gnu/} != $CHOST ]] && sites="${sites} ${site_arch}-linux-gnu linux-gnu"
+
+ [[ ${CHOST/-linux-uclibceabi/} != $CHOST ]] && sites="${sites} ${site_arch}-linux-uclibceabi linux-uclibceabi"
+ [[ ${CHOST/-linux-gnueabi/} != $CHOST ]] && sites="${sites} ${site_arch}-linux-gnueabi linux-gnueabi"
+
+ for x in ${CHOST} ${sites} ${site}; do
+ [[ -e ${TOPDIR}/$x ]] && echo ${TOPDIR}/$x
+ done
+}
+
+if [[ ${CHOST} != "" ]]; then
+ sites="$(config_site_names)"
+ if [[ ${sites} != "" ]]; then
+ for site in ${sites}; do
+ echo "$(basename $0): loading site script $site"
+ . ${site}
+ done
+ fi
+ unset site
+ unset sites
+fi
diff --git a/wrappers/site/cris-linux-uclibc b/wrappers/site/cris-linux-uclibc
new file mode 100644
index 0000000..91863b2
--- /dev/null
+++ b/wrappers/site/cris-linux-uclibc
@@ -0,0 +1 @@
+ac_cv_linux_vers=2.6.19.4
diff --git a/wrappers/site/darwin b/wrappers/site/darwin
new file mode 100644
index 0000000..5ba12df
--- /dev/null
+++ b/wrappers/site/darwin
@@ -0,0 +1,4 @@
+# We have `fork', but it always fails. Don't trust Autoconf to be
+# smart enough to detect that...
+ac_cv_func_fork=no
+ac_cv_func_vfork=no
diff --git a/wrappers/site/i386-linux-uclibc b/wrappers/site/i386-linux-uclibc
new file mode 100644
index 0000000..f3087d8
--- /dev/null
+++ b/wrappers/site/i386-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/i686-linux-uclibc b/wrappers/site/i686-linux-uclibc
new file mode 100644
index 0000000..44ef21c
--- /dev/null
+++ b/wrappers/site/i686-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/linux b/wrappers/site/linux
new file mode 100644
index 0000000..161d060
--- /dev/null
+++ b/wrappers/site/linux
@@ -0,0 +1,18 @@
+ac_cv_file__usr_share_sgml_X11_defs_ent=1
+ac_cv_func_calloc_0_nonnull=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_strnlen_working=yes
+ac_cv_header_pwd_h=yes
+enable_malloc0returnsnull=yes
+gl_cv_func_malloc_0_nonnull=yes
+glib_cv___va_copy=yes
+glib_cv_has__inline=yes
+glib_cv_has__inline__=yes
+glib_cv_hasinline=yes
+glib_cv_rtldglobal_broken=no
+glib_cv_sane_realloc=yes
+glib_cv_sizeof_gmutex=40
+glib_cv_stack_grows=no
+glib_cv_uscore=no
+glib_cv_va_copy=yes
+glib_cv_va_val_copy=no
diff --git a/wrappers/site/linux-uclibc b/wrappers/site/linux-uclibc
new file mode 100644
index 0000000..90f1f4a
--- /dev/null
+++ b/wrappers/site/linux-uclibc
@@ -0,0 +1,69 @@
+ac_atomic_add=yes
+ac_atomic_sub=yes
+ac_cv_c_gettext_without_libintl=yes
+ac_cv_c_long_double=no
+ac_cv_conv_longlong_to_float=yes
+ac_cv_func___va_copy=no
+ac_cv_func__exit=yes
+ac_cv_func_bcopy=yes
+ac_cv_func_bzero=yes
+ac_cv_func_bcmp=yes
+ac_cv_func_fchmod=yes
+ac_cv_func_getaddrinfo=yes
+ac_cv_func_getcwd=yes
+ac_cv_func_getdomainname=yes
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_getpwuid_r=yes
+ac_cv_func_index=yes
+ac_cv_func_lstat_dereferences_slashed_symlink=yes
+ac_cv_func_lstat_empty_string_bug=no
+ac_cv_func_lstat=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_memcmp_clean=yes
+ac_cv_func_memcmp_working=yes
+ac_cv_func_posix_getgrgid_r=yes
+ac_cv_func_posix_getpwuid_r=yes
+ac_cv_func_pthread_key_delete=yes
+ac_cv_func_realloc_0_nonnull=yes
+ac_cv_func_realloc_works=yes
+ac_cv_func_rename=yes
+ac_cv_func_rindex=yes
+ac_cv_func_setlocale=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setresuid=no
+ac_cv_func_setvbuf_reversed=no
+ac_cv_func_stat_empty_string_bug=no
+ac_cv_func_stat_ignores_trailing_slash=no
+ac_cv_func_strerror=yes
+ac_cv_func_strftime=yes
+ac_cv_func_utimes=yes
+ac_cv_func___adjtimex=yes
+ac_cv_func_va_copy=no
+ac_cv_func_vsnprintf=yes
+ac_cv_have_accrights_in_msghdr=no
+ac_cv_have_broken_snprintf=no
+ac_cv_have_control_in_msghdr=yes
+ac_cv_have_decl_sys_siglist=no
+ac_cv_have_openpty_ctty_bug=yes
+ac_cv_have_space_d_name_in_struct_dirent=yes
+ac_cv_header_netinet_sctp_h=no
+ac_cv_header_netinet_sctp_uio_h=no
+ac_cv_int64_t=yes
+ac_cv_lbl_unaligned_fail=no
+ac_cv_linux_kernel_pppoe=yes
+ac_cv_linux_vers=2
+ac_cv_pack_bitfields_reversed=yes
+ac_cv_path_LDCONFIG=
+ac_cv_regexec_segfault_emptystr=no
+ac_cv_sctp=no
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_time_r_type=POSIX
+ac_cv_type_suseconds_t=yes
+ac_cv_uchar=no
+ac_cv_uint=yes
+ac_cv_uint64_t=yes
+ac_cv_ulong=yes
+ac_cv_ushort=yes
+ac_cv_va_copy=C99
+ac_cv_va_val_copy=yes
diff --git a/wrappers/site/mips-linux-uclibc b/wrappers/site/mips-linux-uclibc
new file mode 100644
index 0000000..1005902
--- /dev/null
+++ b/wrappers/site/mips-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/mipsel-linux-uclibc b/wrappers/site/mipsel-linux-uclibc
new file mode 100644
index 0000000..f3087d8
--- /dev/null
+++ b/wrappers/site/mipsel-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/powerpc-linux-uclibc b/wrappers/site/powerpc-linux-uclibc
new file mode 100644
index 0000000..1005902
--- /dev/null
+++ b/wrappers/site/powerpc-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=4
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/wrappers/site/x86_64-linux-uclibc b/wrappers/site/x86_64-linux-uclibc
new file mode 100644
index 0000000..6389633
--- /dev/null
+++ b/wrappers/site/x86_64-linux-uclibc
@@ -0,0 +1,26 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=8
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=8
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=8
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4