diff --git a/aes-meta.c b/aes-meta.c
new file mode 100644
index 0000000000000000000000000000000000000000..e56949b05737443f65ab112e2c8666270d6fca9c
--- /dev/null
+++ b/aes-meta.c
@@ -0,0 +1,34 @@
+/* aes-meta.c */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2002 Niels Möller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nettle-meta.h"
+
+#include "aes.h"
+
+const struct nettle_cipher nettle_aes128
+= _NETTLE_CIPHER(aes, AES, 128);
+
+const struct nettle_cipher nettle_aes192
+= _NETTLE_CIPHER(aes, AES, 192);
+
+const struct nettle_cipher nettle_aes256
+= _NETTLE_CIPHER(aes, AES, 256);
diff --git a/arcfour-meta.c b/arcfour-meta.c
new file mode 100644
index 0000000000000000000000000000000000000000..0886a61998f48d883ef9b1f81622cc2706149876
--- /dev/null
+++ b/arcfour-meta.c
@@ -0,0 +1,34 @@
+/* arcfour-meta.c */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2002 Niels Möller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nettle-meta.h"
+
+#include "arcfour.h"
+
+const struct nettle_cipher nettle_arcfour128 =
+  { "arcfour128", sizeof(struct arcfour_ctx),
+    0, 16,
+    (nettle_set_key_func) arcfour_set_key,
+    (nettle_set_key_func) arcfour_set_key,
+    (nettle_crypt_func) arcfour_crypt,
+    (nettle_crypt_func) arcfour_crypt
+  };
diff --git a/cast128-meta.c b/cast128-meta.c
new file mode 100644
index 0000000000000000000000000000000000000000..de2a194aa72b92aa1d25e60964dba69703ac752c
--- /dev/null
+++ b/cast128-meta.c
@@ -0,0 +1,28 @@
+/* cast128-meta.c */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2002 Niels Möller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nettle-meta.h"
+
+#include "cast128.h"
+
+const struct nettle_cipher nettle_cast128
+= _NETTLE_CIPHER(cast128, CAST128, 128);
diff --git a/serpent-meta.c b/serpent-meta.c
new file mode 100644
index 0000000000000000000000000000000000000000..b95c49dc3254868ebbf5c24fe5085afdf6664470
--- /dev/null
+++ b/serpent-meta.c
@@ -0,0 +1,34 @@
+/* serpent-meta.c */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2002 Niels Möller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nettle-meta.h"
+
+#include "serpent.h"
+
+const struct nettle_cipher nettle_serpent128
+= _NETTLE_CIPHER(serpent, SERPENT, 128);
+
+const struct nettle_cipher nettle_serpent192
+= _NETTLE_CIPHER(serpent, SERPENT, 192);
+
+const struct nettle_cipher nettle_serpent256
+= _NETTLE_CIPHER(serpent, SERPENT, 256);
diff --git a/twofish-meta.c b/twofish-meta.c
new file mode 100644
index 0000000000000000000000000000000000000000..7c3d065ee7a840014dc39c67633d4e8822609bc8
--- /dev/null
+++ b/twofish-meta.c
@@ -0,0 +1,34 @@
+/* twofish-meta.c */
+
+/* nettle, low-level cryptographics library
+ *
+ * Copyright (C) 2002 Niels Möller
+ *  
+ * The nettle library is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at your
+ * option) any later version.
+ * 
+ * The nettle library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
+ * License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with the nettle library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
+#include "nettle-meta.h"
+
+#include "twofish.h"
+
+const struct nettle_cipher nettle_twofish128
+= _NETTLE_CIPHER(twofish, TWOFISH, 128);
+
+const struct nettle_cipher nettle_twofish192
+= _NETTLE_CIPHER(twofish, TWOFISH, 192);
+
+const struct nettle_cipher nettle_twofish256
+= _NETTLE_CIPHER(twofish, TWOFISH, 256);