Alon Bar-Lev wrote:
> OK... here it is.
>
> It uses AC_CANONICAL_HOST and as you don't use automake you must
> manually copy the config.guess and config.sub files from gnuconfig to the
> source tree.
It is more complicated than just checking processor type. Portably enabling
assembler implementation must also check that the assembler understands AT&T
syntax as default (like GNU assembler does), and not the official
"backwards" syntax documented by Intel and AMD.
> When can I find your code repository or snapshot so we sync?
My current version is below. This patch does not include changes to
generated ./configure script, so anyone applying this patch must also run
autoconf command afterwards.
This works, as always:
./configure
make x86
make tests
make install
And this too, although it compiles C language versions of AES and MD5:
./configure && make install-strip DESTDIR=/tmp/foo
--
Jari Ruusu 1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9 DB 1D EB E3 24 0E A9 DD
--- ../aespipe-v2.3e/Makefile.in 2007-02-18 11:26:23.000000000 +0200
+++ ./Makefile.in 2008-11-01 22:17:04.000000000 +0200
@@ -1,16 +1,20 @@
#
# Makefile.in
#
-# Written by Jari Ruusu, February 18 2007
+# Written by Jari Ruusu, November 1 2008
#
-# Copyright 2002-2007 by Jari Ruusu.
+# Copyright 2002-2008 by Jari Ruusu.
# Redistribution of this file is permitted under the GNU Public License.
#
-CC = @CC@ @CFLAGS@ @DEFS@ -D_GNU_SOURCE=1 -D_FILE_OFFSET_BITS=64
+CC = @CC@ @CPPFLAGS@ @CFLAGS@ @DEFS@
LINK = @CC@ @LDFLAGS@
+STRIP = @STRIP@
prefix = @prefix@
exec_prefix = @exec_prefix@
+srcdir = $(shell echo "@srcdir@" | sed -e 's/ /\\ /g')
+builddir = @builddir@
+datarootdir = @datarootdir@
@SET_MAKE@
aespipe: aespipe.o aes.o md5.o sha512.o rmd160.o
@@ -19,24 +23,24 @@
$(LINK) -o aespipe aespipe.o aes-x86.o md5-x86.o sha512.o rmd160.o @LIBS@
amd64: aespipe.o aes-amd64.o md5-amd64.o sha512.o rmd160.o
$(LINK) -o aespipe aespipe.o aes-amd64.o md5-amd64.o sha512.o rmd160.o @LIBS@
-aespipe.o: aespipe.c aes.h md5.h sha512.h rmd160.h
- $(CC) -o aespipe.o -c aespipe.c
-aes.o: aes.c aes.h
- $(CC) -DCONFIGURE_DETECTS_BYTE_ORDER=1 -DDATA_ALWAYS_ALIGNED=1 -o aes.o -c aes.c
-aes-x86.o: aes-x86.S aes.h
- $(CC) -o aes-x86.o -c aes-x86.S
-aes-amd64.o: aes-amd64.S aes.h
- $(CC) -o aes-amd64.o -c aes-amd64.S
-md5.o: md5.c md5.h
- $(CC) -o md5.o -c md5.c
-md5-x86.o: md5-x86.S md5.h
- $(CC) -o md5-x86.o -c md5-x86.S
-md5-amd64.o: md5-amd64.S md5.h
- $(CC) -o md5-amd64.o -c md5-amd64.S
-sha512.o: sha512.c sha512.h
- $(CC) -o sha512.o -c sha512.c
-rmd160.o: rmd160.c rmd160.h
- $(CC) -o rmd160.o -c rmd160.c
+aespipe.o: $(srcdir)/aespipe.c $(srcdir)/aes.h $(srcdir)/md5.h $(srcdir)/sha512.h $(srcdir)/rmd160.h
+ $(CC) -o aespipe.o -c $(srcdir)/aespipe.c
+aes.o: $(srcdir)/aes.c $(srcdir)/aes.h
+ $(CC) -DCONFIGURE_DETECTS_BYTE_ORDER=1 -DDATA_ALWAYS_ALIGNED=1 -o aes.o -c $(srcdir)/aes.c
+aes-x86.o: $(srcdir)/aes-x86.S $(srcdir)/aes.h
+ $(CC) -o aes-x86.o -c $(srcdir)/aes-x86.S
+aes-amd64.o: $(srcdir)/aes-amd64.S $(srcdir)/aes.h
+ $(CC) -o aes-amd64.o -c $(srcdir)/aes-amd64.S
+md5.o: $(srcdir)/md5.c $(srcdir)/md5.h
+ $(CC) -o md5.o -c $(srcdir)/md5.c
+md5-x86.o: $(srcdir)/md5-x86.S $(srcdir)/md5.h
+ $(CC) -o md5-x86.o -c $(srcdir)/md5-x86.S
+md5-amd64.o: $(srcdir)/md5-amd64.S $(srcdir)/md5.h
+ $(CC) -o md5-amd64.o -c $(srcdir)/md5-amd64.S
+sha512.o: $(srcdir)/sha512.c $(srcdir)/sha512.h
+ $(CC) -o sha512.o -c $(srcdir)/sha512.c
+rmd160.o: $(srcdir)/rmd160.c $(srcdir)/rmd160.h
+ $(CC) -o rmd160.o -c $(srcdir)/rmd160.c
clean:
rm -f *.o aespipe test-file[12345] config.log config.status configure.lineno
@@ -45,12 +49,20 @@
rm -f Makefile
install:
- mkdir -p @bindir@
- rm -f @bindir@/aespipe
- cp aespipe @bindir@/aespipe
- mkdir -p @mandir@/man1
- rm -f @mandir@/man1/aespipe.1
- cp aespipe.1 @mandir@/man1/aespipe.1
+ if ! test -e aespipe ; then $(MAKE) aespipe ; fi
+ mkdir -p "$(DESTDIR)@bindir@"
+ rm -f "$(DESTDIR)@bindir@/aespipe"
+ cp aespipe "$(DESTDIR)@bindir@/aespipe"
+ chmod 0755 "$(DESTDIR)@bindir@/aespipe"
+ mkdir -p "$(DESTDIR)@mandir@/man1"
+ rm -f "$(DESTDIR)@mandir@/man1/aespipe.1"
+ cp $(srcdir)/aespipe.1 "$(DESTDIR)@mandir@/man1/aespipe.1"
+ chmod 0644 "$(DESTDIR)@mandir@/man1/aespipe.1"
+
+install-strip:
+ if ! test -e aespipe ; then $(MAKE) aespipe ; fi
+ $(STRIP) aespipe
+ $(MAKE) install
tests:
dd if=/dev/zero of=test-file1 bs=1024 count=33
@@ -62,16 +74,17 @@
$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK= MD=1bf92ee337b653cdb32838047dec00fc MD5WORK=test-part@MD5WORKPART@
$(MAKE) test-part2 CT=AES256 HF=rmd160 ITER=0 GK= MD=c85eb59da18876ae71ebd838675c6ef4 MD5WORK=test-part@MD5WORKPART@
$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=10 GK= MD=dadad48a6d3d9b9914199626ed7b710c MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@rm -fr test-dir1
@GPGWORKPART@mkdir test-dir1
- @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K gpgkey1.asc -G test-dir1" MD=fa5c9a84bc8f6257830c3cbe60294c69 MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K gpgkey1.asc -G test-dir1" MD=ddec9544a36100156aef353ec2bf9740 MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K gpgkey1.asc -G test-dir1" MD=cb38b603f96f0deac1891d423983d69c MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K gpgkey2.asc -G test-dir1" MD=f9825b79873f5c439ae9371c1a929a6c MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K gpgkey2.asc -G test-dir1" MD=489991b779213f60219f09c575c08247 MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K gpgkey2.asc -G test-dir1" MD=2a1d0d3fce83fbe5f3edcca95fbab3b7 MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K gpgkey3.asc -G test-dir1" MD=fabe7422f534820838dfd4571ba14ade MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K gpgkey3.asc -G test-dir1" MD=3eadc976525f9df7e18d56676ec730c8 MD5WORK=test-part@MD5WORKPART@
- @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K gpgkey3.asc -G test-dir1" MD=3be488a60dd77bcab9fbeba4a428c3d5 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K $(srcdir)/gpgkey1.asc -G test-dir1" MD=fa5c9a84bc8f6257830c3cbe60294c69 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K $(srcdir)/gpgkey1.asc -G test-dir1" MD=ddec9544a36100156aef353ec2bf9740 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K $(srcdir)/gpgkey1.asc -G test-dir1" MD=cb38b603f96f0deac1891d423983d69c MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K $(srcdir)/gpgkey2.asc -G test-dir1" MD=f9825b79873f5c439ae9371c1a929a6c MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K $(srcdir)/gpgkey2.asc -G test-dir1" MD=489991b779213f60219f09c575c08247 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K $(srcdir)/gpgkey2.asc -G test-dir1" MD=2a1d0d3fce83fbe5f3edcca95fbab3b7 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES128 HF=sha256 ITER=0 GK="-K $(srcdir)/gpgkey3.asc -G test-dir1" MD=fabe7422f534820838dfd4571ba14ade MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES192 HF=sha384 ITER=0 GK="-K $(srcdir)/gpgkey3.asc -G test-dir1" MD=3eadc976525f9df7e18d56676ec730c8 MD5WORK=test-part@MD5WORKPART@
+ @GPGWORKPART@$(MAKE) test-part2 CT=AES256 HF=sha512 ITER=0 GK="-K $(srcdir)/gpgkey3.asc -G test-dir1" MD=3be488a60dd77bcab9fbeba4a428c3d5 MD5WORK=test-part@MD5WORKPART@
echo 1234567890123456789012345678901 >test-file4
$(MAKE) test-part2 CT=AES HF=unhashed1 ITER=0 GK= MD=293b09053055af7ca5235dc6a5bc0b74 MD5WORK=test-part@MD5WORKPART@
echo 12345678901234567890123456789012 >test-file4
@@ -98,4 +111,4 @@
echo "NO MD5 TEST" >test-file2
echo "NO MD5 TEST" >test-file5
-.PHONY: aespipe x86 i586 amd64 clean distclean install tests test-part2 test-part3 test-part4 test-part5
+.PHONY: aespipe x86 i586 amd64 clean distclean install install-strip tests test-part2 test-part3 test-part4 test-part5
--- ../aespipe-v2.3e/configure.ac 2004-07-07 17:41:14.000000000 +0300
+++ ./configure.ac 2008-11-01 22:17:04.000000000 +0200
@@ -1,15 +1,18 @@
dnl
dnl configure.ac
dnl
-dnl Written by Jari Ruusu, July 7 2004
+dnl Written by Jari Ruusu, November 1 2008
dnl
-dnl Copyright 2002,2003,2004 by Jari Ruusu.
+dnl Copyright 2002-2008 by Jari Ruusu.
dnl Redistribution of this file is permitted under the GNU Public License.
dnl
AC_INIT(aespipe, 2)
AC_CONFIG_SRCDIR([aespipe.c])
+AC_GNU_SOURCE
+AC_SYS_LARGEFILE
AC_PROG_CC
+AC_CHECK_TOOL([STRIP],[strip])
AC_PROG_MAKE_SET
AC_CHECK_FUNCS(mlockall)
AC_HEADER_STDC
@@ -21,20 +24,20 @@
AC_TYPE_SIZE_T
dnl Check if parameter 1 exists as typedef or macro
-AC_DEFUN(AESPIPE_CHECK_TYPE,
+AC_DEFUN([AESPIPE_CHECK_TYPE],
[ AC_MSG_CHECKING(for $1 type)
-AC_CACHE_VAL(x_have_type_$1,
+AC_CACHE_VAL(x_cv_have_type_$1,
[AC_TRY_COMPILE([#define _GNU_SOURCE 1
#include <string.h>
#include <sys/types.h>], [
int a = sizeof($1);
-], x_have_type_$1=yes, x_have_type_$1=no )])
-AC_MSG_RESULT($x_have_type_$1)
+], x_cv_have_type_$1=yes, x_cv_have_type_$1=no )])
+AC_MSG_RESULT($x_cv_have_type_$1)
])
dnl Make sure that u_int32_t is something sane
AESPIPE_CHECK_TYPE(u_int32_t)
-if test "$x_have_type_u_int32_t" = no; then
+if test "$x_cv_have_type_u_int32_t" = no; then
AC_CHECK_SIZEOF(unsigned int, 4)
if test "$ac_cv_sizeof_unsigned_int" = 4; then
AC_DEFINE(u_int32_t, unsigned int)
@@ -48,7 +51,7 @@
dnl Make sure that u_int64_t is something sane
AESPIPE_CHECK_TYPE(u_int64_t)
-if test "$x_have_type_u_int64_t" = no; then
+if test "$x_cv_have_type_u_int64_t" = no; then
AC_CHECK_SIZEOF(unsigned long, 4)
if test "$ac_cv_sizeof_unsigned_long" = 8; then
AC_DEFINE(u_int64_t, unsigned long)
-
Linux-crypto: cryptography in and on the Linux system
Archive: http://mail.nl.linux.org/linux-crypto/
[Home]
[Kernel]
[Linux Crypto]
[Gnu Crypto]
[Gnu Classpath]
[Netfilter]
[Bugtraq]
[Network Security Reading]