2005-03-10 Timo Schulz <twoaday@g10code.com>
authorTimo Schulz <twoaday@freakmail.de>
Thu, 10 Mar 2005 19:25:55 +0000 (19:25 +0000)
committerTimo Schulz <twoaday@freakmail.de>
Thu, 10 Mar 2005 19:25:55 +0000 (19:25 +0000)
        * gpgme.def: New. Exported GPGME functions.
        * build-dll: New.

trunk/w32-dll/ChangeLog [new file with mode: 0644]
trunk/w32-dll/build-dll [new file with mode: 0755]
trunk/w32-dll/gpgme.def [new file with mode: 0644]

diff --git a/trunk/w32-dll/ChangeLog b/trunk/w32-dll/ChangeLog
new file mode 100644 (file)
index 0000000..bff2300
--- /dev/null
@@ -0,0 +1,5 @@
+2005-03-10  Timo Schulz  <twoaday@g10code.com>
+
+       * gpgme.def: New. Exported GPGME functions.
+       * build-dll: New.
+       
\ No newline at end of file
diff --git a/trunk/w32-dll/build-dll b/trunk/w32-dll/build-dll
new file mode 100755 (executable)
index 0000000..11618d7
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+# Run this to generate the libgcrypt W32 DLL
+#
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+AS=i586-mingw32msvc-as
+OBJS=
+
+grep "#define HAVE_DOSISH_SYSTEM" ../config.h
+if [ $? = 1 ]; then
+    exit
+fi
+
+for i in $(ls ../gpgme/*.o); do
+       OBJS="$OBJS $i"
+done
+OBJS="$OBJS /home/twoaday/w32root/lib/libgpg-error.a"
+OBJS="$OBJS ../gpgme/stpcpy.o ../gpgme/vasprintf.o"
+
+echo 'running dlltool the first time' >&2
+mingw32 dlltool --nodelete  \
+       --as $AS \
+       --def gpgme.def \
+       --output-exp gpgme.exp \
+       --output-lib gpgme.imp \
+       --dllname gpgme.dll $OBJS
+echo 'doing dummy link to create the base file' >&2
+mingw32 gcc -mdll -Wl,--base-file -Wl,gpgme.base \
+                       -o gpgme.dll gpgme.exp $OBJS
+echo 'running dlltool the second time' >&2
+mingw32 dlltool --nodelete \
+               --as $AS \
+               --def gpgme.def \
+               --output-exp gpgme.exp \
+        --output-lib gpgme.imp \
+               --base-file gpgme.base \
+               --dllname gpgme.dll $OBJS
+
+echo 'doing final link' >&2
+mingw32 gcc -mdll -o gpgme.dll gpgme.exp $OBJS
+mingw32 strip gpgme.dll
+
+mingw32 dlltool --def gpgme.def \
+                       --as $AS \
+                       --dllname gpgme.dll \
+                       --output-lib gpgme.lib
+
+echo 'clean up'
+rm -f dh.o dh.s dt.o dt.s
+rm -f gpgme.base gpgme.exp gpgme.imp tgpgme.exp
\ No newline at end of file
diff --git a/trunk/w32-dll/gpgme.def b/trunk/w32-dll/gpgme.def
new file mode 100644 (file)
index 0000000..394557a
--- /dev/null
@@ -0,0 +1,95 @@
+;; gpgme.def -  Exported symbols for W32
+;; Copyright (C) 2005 g10 Code GmbH
+;;
+;; This file is part of GPGME.
+;;
+;; GPGME 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.
+;;
+;; GPGME 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 this program; if not, write to the Free Software
+;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+;;
+
+;; Note: This file should be updated manually and the ordinals shall
+;; never be changed.
+
+EXPORTS
+       gpgme_strerror  @5
+       gpgme_strerror_r  @6
+       gpgme_strsource  @7
+       gpgme_err_code_from_errno  @8
+       gpgme_err_code_to_errno  @9
+       gpgme_err_make_from_errno  @10
+       gpgme_error_from_errno  @11
+       gpgme_new  @12
+       gpgme_release  @13
+       gpgme_set_protocol  @14
+       gpgme_get_protocol  @15
+       gpgme_get_protocol_name  @16
+       gpgme_set_armor  @17
+       gpgme_get_armor  @18
+       gpgme_set_textmode  @19
+       gpgme_get_textmode  @20
+       gpgme_set_include_certs  @21
+       gpgme_get_include_certs  @22
+       gpgme_get_keylist_mode  @23
+       gpgme_ctx_get_engine_info  @24
+       gpgme_pubkey_algo_name  @25
+       gpgme_hash_algo_name  @26
+       gpgme_signers_clear  @27
+       gpgme_signers_add  @28
+       gpgme_signers_enum  @29
+       gpgme_get_sig_key  @30
+       gpgme_set_io_cbs  @31
+       gpgme_get_io_cbs  @32
+       gpgme_wait  @33
+       gpgme_data_read  @34
+       gpgme_data_write  @35
+       gpgme_data_seek  @36
+       gpgme_data_new  @37
+       gpgme_data_release  @38
+       gpgme_data_release_and_get_mem  @39
+       gpgme_data_new_from_fd  @40
+       gpgme_data_new_from_stream  @41
+       gpgme_data_get_encoding  @42
+       gpgme_data_rewind  @43
+       gpgme_key_ref  @44
+       gpgme_key_unref  @45
+       gpgme_key_release  @46
+       gpgme_cancel  @47
+       gpgme_op_encrypt_result  @48
+       gpgme_op_decrypt_result  @49
+       gpgme_op_sign_result  @50
+       gpgme_op_verify_result  @51
+       gpgme_op_import_result  @52
+       gpgme_op_import_start  @53
+       gpgme_op_import  @54
+       gpgme_op_genkey_result  @55
+       gpgme_op_keylist_result  @56
+       gpgme_op_keylist_next  @57
+       gpgme_op_keylist_end  @58
+       gpgme_op_trustlist_end  @59
+       gpgme_trust_item_ref  @60
+       gpgme_trust_item_unref  @61
+       gpgme_trust_item_release  @62
+       gpgme_check_version  @63
+       gpgme_get_engine_info  @64
+       gpgme_engine_check_version  @65
+
+
+
+
+
+
+
+
+
+