From 17503c1de144fd5afcbfa23796c3d92a5f1cfde6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 3 Sep 2016 20:44:23 +0200 Subject: add basic support for s6 init system --- package/skalibs/Makefile | 31 ++++++++++++ package/skalibs/patches/patch-configure | 58 +++++++++++++++++++++++ package/skalibs/src/src/sysdeps/trybigendian.c | 17 +++++++ package/skalibs/src/src/sysdeps/trylittleendian.c | 16 +++++++ 4 files changed, 122 insertions(+) create mode 100644 package/skalibs/Makefile create mode 100644 package/skalibs/patches/patch-configure create mode 100644 package/skalibs/src/src/sysdeps/trybigendian.c create mode 100644 package/skalibs/src/src/sysdeps/trylittleendian.c (limited to 'package/skalibs') diff --git a/package/skalibs/Makefile b/package/skalibs/Makefile new file mode 100644 index 000000000..cc3b48a6a --- /dev/null +++ b/package/skalibs/Makefile @@ -0,0 +1,31 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= skalibs +PKG_VERSION:= 2.3.10.0 +PKG_RELEASE:= 1 +PKG_HASH:= e4d5147941055b2a367794666f773a4b216c3ae83c015a5fcf2cd0498470ea44 +PKG_DESCR:= general purpose libraries +PKG_SECTION:= libs/misc +PKG_URL:= http://www.skarnet.org/software/skalibs/ +PKG_SITES:= http://www.skarnet.org/software/skalibs/ +PKG_OPTS:= dev + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,SKALIBS,skalibs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) + +CONFIGURE_ARGS+= --enable-force-devr \ + --disable-allstatic \ + --with-default-path=/sbin:/usr/sbin:/bin:/usr/bin + +skalibs-install: + $(INSTALL_DIR) $(IDIR_SKALIBS)/usr/lib + $(CP) $(WRKINST)/usr/lib/libskarnet.so* \ + $(IDIR_SKALIBS)/usr/lib + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/skalibs/patches/patch-configure b/package/skalibs/patches/patch-configure new file mode 100644 index 000000000..bfd291622 --- /dev/null +++ b/package/skalibs/patches/patch-configure @@ -0,0 +1,58 @@ +--- skalibs-2.3.10.0.orig/configure 2016-03-19 16:04:58.000000000 +0100 ++++ skalibs-2.3.10.0/configure 2016-09-03 17:23:41.494368249 +0200 +@@ -154,10 +154,28 @@ choose () { + + trytypesize() { + echo "Checking size of $3..." +- $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 src/sysdeps/trysizeof$1.c +- type_size=$(./trysizeof$1) || fail "$0: unable to determine size of $3" ++ r=false ++ type_size=0 ++ while true; do ++ cat<trysizeof$1.c ++#include ++ ++int main(void) ++{ ++ static int v = 1 / !!((sizeof($3) == $type_size)); ++ return 0; ++} ++EOF ++ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 trysizeof$1.c 2>/dev/null; then ++ r=true ++ break ++ fi ++ type_size=$(expr $type_size + 1) ++ test $type_size -le 16 || break ++ done ++ test $r = true || fail "$0: unable to determine size of $3" + type_bits=$(expr 8 \* $type_size) +- rm -f trysizeof$1 ++ rm -f trysizeof$1 trysizeof$1.c + echo "sizeof$1: $type_size" >> $sysdeps/sysdeps + echo "#define ${package_macro_name}_SIZEOF$2 $type_size" >> $sysdeps/sysdeps.h + echo "#define ${package_macro_name}_$2_BITS $type_bits" >> $sysdeps/sysdeps.h +@@ -451,12 +469,20 @@ EOF + fi + + echo "Checking system endianness..." +- $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o tryendianness src/sysdeps/tryendianness.c +- endianness=$(./tryendianness) || fail "$0: unable to determine endianness" ++ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trybigendian src/sysdeps/trybigendian.c 2>/dev/null; then ++ endianness=big ++ else ++ if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trylittleendian src/sysdeps/trylittleendian.c 2>/dev/null; then ++ endianness=little ++ else ++ fail "$0: unable to determine endianness" ++ fi ++ fi ++ + echo "endianness: $endianness" >> $sysdeps/sysdeps + echo "#define ${package_macro_name}_ENDIANNESS \"$endianness\"" >> $sysdeps/sysdeps.h + echo " ... $endianness" +- rm -f tryendianness ++ rm -f trybigendian trylittleendian + + trytypesize ushort USHORT "unsigned short" + trytypesize uint UINT "unsigned int" diff --git a/package/skalibs/src/src/sysdeps/trybigendian.c b/package/skalibs/src/src/sysdeps/trybigendian.c new file mode 100644 index 000000000..f1e3fa537 --- /dev/null +++ b/package/skalibs/src/src/sysdeps/trybigendian.c @@ -0,0 +1,17 @@ +#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN) || \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) || \ + defined(__BIG_ENDIAN) || \ + defined(__ARMEB__) || \ + defined(__THUMBEB__) || \ + defined(__AARCH64EB__) || \ + defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__) +#define YEAH +#else +#error "not big endian" +#endif + +int main(void) +{ + return 0; +} + diff --git a/package/skalibs/src/src/sysdeps/trylittleendian.c b/package/skalibs/src/src/sysdeps/trylittleendian.c new file mode 100644 index 000000000..5dfe44e31 --- /dev/null +++ b/package/skalibs/src/src/sysdeps/trylittleendian.c @@ -0,0 +1,16 @@ +#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN) || \ + defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || \ + defined(__LITTLE_ENDIAN) || \ + defined(__ARMEL__) || \ + defined(__THUMBEL__) || \ + defined(__AARCH64EL__) || \ + defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__) +#define YEAH +#else +#error "not little endian" +#endif + +int main(void) +{ + return 0; +} -- cgit v1.2.3