add xyssl
authorNicolas Thill <nico@openwrt.org>
Wed, 29 Aug 2007 10:41:26 +0000 (10:41 +0000)
committerNicolas Thill <nico@openwrt.org>
Wed, 29 Aug 2007 10:41:26 +0000 (10:41 +0000)
SVN-Revision: 8534

libs/xyssl/Makefile [new file with mode: 0644]
libs/xyssl/patches/001-cross_compile.patch [new file with mode: 0644]
libs/xyssl/patches/002-install.patch [new file with mode: 0644]

diff --git a/libs/xyssl/Makefile b/libs/xyssl/Makefile
new file mode 100644 (file)
index 0000000..7804fa2
--- /dev/null
@@ -0,0 +1,82 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=xyssl
+PKG_VERSION:=0.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=http://xyssl.org/code/download/
+PKG_MD5SUM:=f6422c393a4ca72577331f373c6c4248
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/xyssl/Default
+  TITLE:=Embedded SSL
+  URL:=http://xyssl.org/
+endef
+
+define Package/libxyssl/Default/description
+ The aim of the XySSL project is to provide a quality, open-source 
+ cryptographic library written in C and targeted at embedded systems.
+endef
+
+define Package/libxyssl
+$(call Package/xyssl/Default)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE+= (library)
+endef
+
+define Package/xyssl-progs
+$(call Package/xyssl/Default)
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=+libxyssl
+  TITLE+= (programs)
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               $(TARGET_CONFIGURE_OPTS) \
+               OFLAGS="$(TARGET_CFLAGS)" \
+               all
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               DESTDIR="$(PKG_INSTALL_DIR)/usr" \
+               install
+endef
+
+define Build/InstallDev
+       mkdir -p $(STAGING_DIR)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/xyssl $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxyssl.{a,so} $(STAGING_DIR)/usr/lib/
+endef
+
+define Build/UninstallDev
+       rm -rf  $(STAGING_DIR)/usr/include/xyssl \
+               $(STAGING_DIR)/usr/lib/libxyssl.{a,so}
+endef
+
+define Package/libxyssl/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libxyssl.so $(1)/usr/lib/
+endef
+
+define Package/xyssl-progs/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xyssl_* $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,libxyssl))
+$(eval $(call BuildPackage,xyssl-progs))
diff --git a/libs/xyssl/patches/001-cross_compile.patch b/libs/xyssl/patches/001-cross_compile.patch
new file mode 100644 (file)
index 0000000..baf27b2
--- /dev/null
@@ -0,0 +1,147 @@
+diff -ruN xyssl-0.7-old/library/Makefile xyssl-0.7-new/library/Makefile
+--- xyssl-0.7-old/library/Makefile     2007-07-07 07:07:00.000000000 +0200
++++ xyssl-0.7-new/library/Makefile     2007-08-29 12:20:53.000000000 +0200
+@@ -9,10 +9,13 @@
+ #    _BSD_EXTENSION     when compiling on Plan9
+ DEFINES       = -DSELF_TEST -DHAVE_RDTSC
+-CFLAGS        = $(DEFINES) -I../include -O
++CFLAGS        = $(DEFINES) -I../include
++OFLAGS        = -O
++
++AR    ?= ar
+ # To compile as a shared library:
+-# CFLAGS += -fPIC
++CFLAGS        += -fPIC
+ # MicroBlaze specific options:
+ # CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift
+@@ -25,21 +28,21 @@
+ .SILENT:
+-all: libxyssl.a
++all: libxyssl.a libxyssl.so
+ libxyssl.a: $(OBJS)
+       echo "  AR    $@"
+-      ar r $@ $(OBJS)
++      $(AR) r $@ $(OBJS)
+ shared: libxyssl.so
+ libxyssl.so: libxyssl.a
+       echo "  LD    $@"
+-      gcc -shared -Wl,-soname,$@ -o $@ $(OBJS)
++      $(CC) -shared -Wl,-soname,$@ -o $@ $(OBJS)
+ .c.o:
+       echo "  CC    $<"
+-      $(CC) $(CFLAGS) -c $<
++      $(CC) $(CFLAGS) $(OFLAGS) -c $<
+ clean:
+       rm -f *.o libxyssl.*
+diff -ruN xyssl-0.7-old/programs/Makefile xyssl-0.7-new/programs/Makefile
+--- xyssl-0.7-old/programs/Makefile    2007-07-07 07:07:00.000000000 +0200
++++ xyssl-0.7-new/programs/Makefile    2007-08-29 12:19:25.000000000 +0200
+@@ -2,7 +2,8 @@
+ # To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
+ # To compile on MinGW: add "-lws2_32" to LDFLAGS
+-CFLAGS        = -I../include -O
++CFLAGS        = -I../include
++OFLAGS        = -O
+ LDFLAGS       = -L../library -lxyssl
+ APPS =        aes/aescrypt2           hash/hello              \
+@@ -21,71 +22,71 @@
+ aes/aescrypt2: aes/aescrypt2.c ../library/libxyssl.a
+       echo   "  CC    aes/aescrypt2.c"
+-      $(CC) $(CFLAGS) aes/aescrypt2.c     $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) aes/aescrypt2.c     $(LDFLAGS) -o $@
+ hash/hello: hash/hello.c ../library/libxyssl.a
+       echo   "  CC    hash/hello.c"
+-      $(CC) $(CFLAGS) hash/hello.c        $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) hash/hello.c        $(LDFLAGS) -o $@
+ hash/md5sum: hash/md5sum.c ../library/libxyssl.a
+       echo   "  CC    hash/md5sum.c"
+-      $(CC) $(CFLAGS) hash/md5sum.c       $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) hash/md5sum.c       $(LDFLAGS) -o $@
+ hash/sha1sum: hash/sha1sum.c ../library/libxyssl.a
+       echo   "  CC    hash/sha1sum.c"
+-      $(CC) $(CFLAGS) hash/sha1sum.c      $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) hash/sha1sum.c      $(LDFLAGS) -o $@
+ hash/sha2sum: hash/sha2sum.c ../library/libxyssl.a
+       echo   "  CC    hash/sha2sum.c"
+-      $(CC) $(CFLAGS) hash/sha2sum.c      $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) hash/sha2sum.c      $(LDFLAGS) -o $@
+ pkey/dh_client: pkey/dh_client.c ../library/libxyssl.a
+       echo   "  CC    pkey/dh_client.c"
+-      $(CC) $(CFLAGS) pkey/dh_client.c    $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_client.c    $(LDFLAGS) -o $@
+ pkey/dh_genprime: pkey/dh_genprime.c ../library/libxyssl.a
+       echo   "  CC    pkey/dh_genprime.c"
+-      $(CC) $(CFLAGS) pkey/dh_genprime.c  $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_genprime.c  $(LDFLAGS) -o $@
+ pkey/dh_server: pkey/dh_server.c ../library/libxyssl.a
+       echo   "  CC    pkey/dh_server.c"
+-      $(CC) $(CFLAGS) pkey/dh_server.c    $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_server.c    $(LDFLAGS) -o $@
+ pkey/mpi_demo: pkey/mpi_demo.c ../library/libxyssl.a
+       echo   "  CC    pkey/mpi_demo.c"
+-      $(CC) $(CFLAGS) pkey/mpi_demo.c     $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/mpi_demo.c     $(LDFLAGS) -o $@
+ pkey/rsa_genkey: pkey/rsa_genkey.c ../library/libxyssl.a
+       echo   "  CC    pkey/rsa_genkey.c"
+-      $(CC) $(CFLAGS) pkey/rsa_genkey.c   $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_genkey.c   $(LDFLAGS) -o $@
+ pkey/rsa_sign: pkey/rsa_sign.c ../library/libxyssl.a
+       echo   "  CC    pkey/rsa_sign.c"
+-      $(CC) $(CFLAGS) pkey/rsa_sign.c     $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_sign.c     $(LDFLAGS) -o $@
+ pkey/rsa_verify: pkey/rsa_verify.c ../library/libxyssl.a
+       echo   "  CC    pkey/rsa_verify.c"
+-      $(CC) $(CFLAGS) pkey/rsa_verify.c   $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_verify.c   $(LDFLAGS) -o $@
+ ssl/ssl_client1: ssl/ssl_client1.c ../library/libxyssl.a
+       echo   "  CC    ssl/ssl_client1.c"
+-      $(CC) $(CFLAGS) ssl/ssl_client1.c   $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client1.c   $(LDFLAGS) -o $@
+ ssl/ssl_client2: ssl/ssl_client2.c ../library/libxyssl.a
+       echo   "  CC    ssl/ssl_client2.c"
+-      $(CC) $(CFLAGS) ssl/ssl_client2.c   $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client2.c   $(LDFLAGS) -o $@
+ ssl/ssl_server: ssl/ssl_server.c ../library/libxyssl.a
+       echo   "  CC    ssl/ssl_server.c"
+-      $(CC) $(CFLAGS) ssl/ssl_server.c    $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server.c    $(LDFLAGS) -o $@
+ test/benchmark: test/benchmark.c ../library/libxyssl.a
+       echo   "  CC    test/benchmark.c"
+-      $(CC) $(CFLAGS) test/benchmark.c    $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) test/benchmark.c    $(LDFLAGS) -o $@
+ test/selftest: test/selftest.c ../library/libxyssl.a
+       echo   "  CC    test/selftest.c"
+-      $(CC) $(CFLAGS) test/selftest.c     $(LDFLAGS) -o $@
++      $(CC) $(CFLAGS) $(OFLAGS) test/selftest.c     $(LDFLAGS) -o $@
+ clean:
+       rm -f $(APPS)
diff --git a/libs/xyssl/patches/002-install.patch b/libs/xyssl/patches/002-install.patch
new file mode 100644 (file)
index 0000000..06c8307
--- /dev/null
@@ -0,0 +1,15 @@
+--- xyssl-0.7-old/Makefile     2007-07-07 07:07:00.000000000 +0200
++++ xyssl-0.7-new/Makefile     2007-08-29 12:26:01.000000000 +0200
+@@ -8,9 +8,10 @@
+       cd programs && make all && cd ..
+ install:
+-      mkdir -p $(DESTDIR)/{include/xyssl,lib}
++      mkdir -p $(DESTDIR)/include/xyssl
+       cp -v -r include $(DESTDIR)/include
+-      cp -v library/libxyssl.a $(DESTDIR)/lib
++      mkdir -p $(DESTDIR)/lib
++      cp -v library/libxyssl.* $(DESTDIR)/lib
+       
+       mkdir -p $(DESTDIR)/bin
+       for p in programs/*/* ; do              \