Changes to allow building a W32 DLL
This commit is contained in:
parent
b71096a832
commit
dbe0df44b6
@ -1,3 +1,9 @@
|
|||||||
|
2005-08-19 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* configure.ac [W32]: Create values for versioninfo.rc and list
|
||||||
|
substuture versioninfo.rc.
|
||||||
|
* configure.ac: Define ENABLE_GPGSM.
|
||||||
|
|
||||||
2005-08-08 Werner Koch <wk@g10code.com>
|
2005-08-08 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* configure.ac (stpcpy): Changed from replace to test.
|
* configure.ac (stpcpy): Changed from replace to test.
|
||||||
|
2
NEWS
2
NEWS
@ -1,6 +1,8 @@
|
|||||||
Noteworthy changes in version 1.1.0 (unreleased)
|
Noteworthy changes in version 1.1.0 (unreleased)
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
|
|
||||||
|
* "./autogen.sh --build-w32" does now build gpgme.dll.
|
||||||
|
|
||||||
* You can now configure the backend engine file name and home
|
* You can now configure the backend engine file name and home
|
||||||
directory to be used, as default and per context.
|
directory to be used, as default and per context.
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ if test "$1" = "--build-w32"; then
|
|||||||
./configure --enable-maintainer-mode --prefix=${w32root} \
|
./configure --enable-maintainer-mode --prefix=${w32root} \
|
||||||
--host=i586-mingw32msvc --build=${build} \
|
--host=i586-mingw32msvc --build=${build} \
|
||||||
--with-gpg-error-prefix=${w32root} \
|
--with-gpg-error-prefix=${w32root} \
|
||||||
--disable-shared --with-gpgsm=c:/gnupg/gpgsm.exe
|
--disable-shared --without-gpgsm
|
||||||
|
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
25
configure.ac
25
configure.ac
@ -69,6 +69,8 @@ AH_VERBATIM([_REENTRANT],
|
|||||||
#endif])
|
#endif])
|
||||||
|
|
||||||
AC_PROG_CC
|
AC_PROG_CC
|
||||||
|
AC_CHECK_TOOL(DLLTOOL, dlltool, :)
|
||||||
|
AC_CHECK_TOOL(WINDRES, windres, :)
|
||||||
|
|
||||||
|
|
||||||
AC_SUBST(LIBGPGME_LT_CURRENT)
|
AC_SUBST(LIBGPGME_LT_CURRENT)
|
||||||
@ -342,9 +344,11 @@ if test "$GPGSM" = no; then
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
AC_DEFINE_UNQUOTED(GPGSM_PATH, "$GPGSM", [Path to the GPGSM binary.])
|
AC_DEFINE_UNQUOTED(GPGSM_PATH, "$GPGSM", [Path to the GPGSM binary.])
|
||||||
AC_SUBST(GPGSM)
|
AC_DEFINE(ENABLE_GPGSM,1,[Whether GPGSM support is enabled])
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_GPGSM, test "$GPGSM" != "no")
|
AM_CONDITIONAL(HAVE_GPGSM, test "$GPGSM" != "no")
|
||||||
|
|
||||||
|
|
||||||
dnl Check for GPGSM version requirement.
|
dnl Check for GPGSM version requirement.
|
||||||
GPGSM_VERSION=unknown
|
GPGSM_VERSION=unknown
|
||||||
ok=maybe
|
ok=maybe
|
||||||
@ -439,6 +443,22 @@ AM_CONDITIONAL(BUILD_COMPLUS, test "$component_system" = "COM+")
|
|||||||
# (this is easier than to have a *.in file just for one substitution)
|
# (this is easier than to have a *.in file just for one substitution)
|
||||||
GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION)
|
GNUPG_FIX_HDR_VERSION(gpgme/gpgme.h, GPGME_VERSION)
|
||||||
|
|
||||||
|
# Generate values for the DLL version info
|
||||||
|
if test "$have_w32_system" = yes; then
|
||||||
|
BUILD_TIMESTAMP=`date --iso-8601=minutes`
|
||||||
|
changequote(,)dnl
|
||||||
|
BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'`
|
||||||
|
changequote([,])dnl
|
||||||
|
case "$VERSION" in
|
||||||
|
*-cvs) BUILD_FILEVERSION="${BUILD_FILEVERSION}0" ;;
|
||||||
|
*-rc*) BUILD_FILEVERSION="${BUILD_FILEVERSION}1" ;;
|
||||||
|
*) BUILD_FILEVERSION="${BUILD_FILEVERSION}2" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
AC_SUBST(BUILD_TIMESTAMP)
|
||||||
|
AC_SUBST(BUILD_FILEVERSION)
|
||||||
|
|
||||||
|
|
||||||
# Substitution used for gpgme-config
|
# Substitution used for gpgme-config
|
||||||
GPGME_CONFIG_LIBS="-lgpgme"
|
GPGME_CONFIG_LIBS="-lgpgme"
|
||||||
GPGME_CONFIG_CFLAGS=""
|
GPGME_CONFIG_CFLAGS=""
|
||||||
@ -456,7 +476,8 @@ AC_SUBST(LTLIBOBJS)
|
|||||||
|
|
||||||
AC_CONFIG_FILES(Makefile assuan/Makefile gpgme/Makefile
|
AC_CONFIG_FILES(Makefile assuan/Makefile gpgme/Makefile
|
||||||
tests/Makefile tests/gpg/Makefile tests/gpgsm/Makefile
|
tests/Makefile tests/gpg/Makefile tests/gpgsm/Makefile
|
||||||
doc/Makefile complus/Makefile)
|
doc/Makefile complus/Makefile
|
||||||
|
gpgme/versioninfo.rc)
|
||||||
AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config)
|
AC_CONFIG_FILES(gpgme/gpgme-config, chmod +x gpgme/gpgme-config)
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
2005-08-19 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpgme.def: New.
|
||||||
|
* versioninfo.rc.in: New.
|
||||||
|
* Makefile.am: Addes support for building a W32 DLL.
|
||||||
|
|
||||||
|
* ttyname_r.c (ttyname_r) [W32]: Return error.
|
||||||
|
* ath-compat.c [W32]: select and co are not yet supported; return
|
||||||
|
error.
|
||||||
|
* data-stream.c (stream_seek): Use ftell if ftello is not available.
|
||||||
|
|
||||||
2005-08-08 Werner Koch <wk@g10code.com>
|
2005-08-08 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* util.h (stpcpy): Renamed to ..
|
* util.h (stpcpy): Renamed to ..
|
||||||
|
@ -19,7 +19,8 @@
|
|||||||
|
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
EXTRA_DIST = gpgme-config.in gpgme.m4 mkstatus libgpgme.vers
|
EXTRA_DIST = gpgme-config.in gpgme.m4 mkstatus libgpgme.vers \
|
||||||
|
versioninfo.rc.in gpgme.de
|
||||||
BUILT_SOURCES = status-table.h
|
BUILT_SOURCES = status-table.h
|
||||||
MOSTLYCLEANFILES = status-table.h
|
MOSTLYCLEANFILES = status-table.h
|
||||||
bin_SCRIPTS = gpgme-config
|
bin_SCRIPTS = gpgme-config
|
||||||
@ -124,3 +125,34 @@ libgpgme_pth_la_LIBADD = libgpgme-real.la $(assuan_libobjs) @LTLIBOBJS@ \
|
|||||||
|
|
||||||
status-table.h : gpgme.h
|
status-table.h : gpgme.h
|
||||||
$(srcdir)/mkstatus < $(srcdir)/gpgme.h > status-table.h
|
$(srcdir)/mkstatus < $(srcdir)/gpgme.h > status-table.h
|
||||||
|
|
||||||
|
# Special code to build a DLL. The current libtool (1.5.6) is not
|
||||||
|
# able to do this properly; we better use gcc's built in magic.
|
||||||
|
if HAVE_W32_SYSTEM
|
||||||
|
|
||||||
|
w32_o_files = ath-compat.o conversion.o data-compat.o data-fd.o \
|
||||||
|
data-mem.o data-stream.o data-user.o data.o debug.o \
|
||||||
|
decrypt-verify.o decrypt.o delete.o edit.o encrypt-sign.o \
|
||||||
|
encrypt.o engine-gpgsm.o engine.o error.o export.o genkey.o \
|
||||||
|
get-env.o gpgme.o import.o key.o keylist.o memrchr.o \
|
||||||
|
op-support.o passphrase.o progress.o putc_unlocked.o \
|
||||||
|
rungpg.o sign.o signers.o trust-item.o trustlist.o \
|
||||||
|
ttyname_r.o vasprintf.o verify.o version.o \
|
||||||
|
w32-io.o w32-sema.o w32-util.o \
|
||||||
|
wait-global.o wait-private.o wait-user.o wait.o
|
||||||
|
|
||||||
|
all-local: gpgme.dll gpgme.dll.a
|
||||||
|
|
||||||
|
install-exec-hook:
|
||||||
|
cp gpgme.dll gpgme.dll.a $(DESTDIR)$(libdir)/
|
||||||
|
$(STRIP) $(DESTDIR)$(libdir)/gpgme.dll
|
||||||
|
|
||||||
|
gpgme.dll gpgme.dll.a: gpgme.def $(w32_o_files) versioninfo.o
|
||||||
|
$(CC) -shared -o gpgme.dll gpgme.def $(w32_o_files) \
|
||||||
|
versioninfo.o @GPG_ERROR_LIBS@ -Wl,--out-implib,gpgme.dll.a
|
||||||
|
|
||||||
|
|
||||||
|
.rc.o:
|
||||||
|
$(WINDRES) `test -f '$<' || echo '$(srcdir)/'`$< $@
|
||||||
|
|
||||||
|
endif
|
||||||
|
@ -133,7 +133,11 @@ ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
|
|||||||
if (ath_ops && ath_ops->select)
|
if (ath_ops && ath_ops->select)
|
||||||
return ath_ops->select (nfd, rset, wset, eset, timeout);
|
return ath_ops->select (nfd, rset, wset, eset, timeout);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return select (nfd, rset, wset, eset, timeout);
|
return select (nfd, rset, wset, eset, timeout);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -143,7 +147,11 @@ ath_waitpid (pid_t pid, int *status, int options)
|
|||||||
if (ath_ops && ath_ops->waitpid)
|
if (ath_ops && ath_ops->waitpid)
|
||||||
return ath_ops->waitpid (pid, status, options);
|
return ath_ops->waitpid (pid, status, options);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return waitpid (pid, status, options);
|
return waitpid (pid, status, options);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -153,7 +161,11 @@ ath_accept (int s, struct sockaddr *addr, socklen_t *length_ptr)
|
|||||||
if (ath_ops && ath_ops->accept)
|
if (ath_ops && ath_ops->accept)
|
||||||
return ath_ops->accept (s, addr, length_ptr);
|
return ath_ops->accept (s, addr, length_ptr);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return accept (s, addr, length_ptr);
|
return accept (s, addr, length_ptr);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -163,7 +175,11 @@ ath_connect (int s, const struct sockaddr *addr, socklen_t length)
|
|||||||
if (ath_ops && ath_ops->connect)
|
if (ath_ops && ath_ops->connect)
|
||||||
return ath_ops->connect (s, addr, length);
|
return ath_ops->connect (s, addr, length);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return connect (s, addr, length);
|
return connect (s, addr, length);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -173,7 +189,11 @@ ath_sendmsg (int s, const struct msghdr *msg, int flags)
|
|||||||
if (ath_ops && ath_ops->sendmsg)
|
if (ath_ops && ath_ops->sendmsg)
|
||||||
return ath_ops->sendmsg (s, msg, flags);
|
return ath_ops->sendmsg (s, msg, flags);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return sendmsg (s, msg, flags);
|
return sendmsg (s, msg, flags);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -183,5 +203,9 @@ ath_recvmsg (int s, struct msghdr *msg, int flags)
|
|||||||
if (ath_ops && ath_ops->recvmsg)
|
if (ath_ops && ath_ops->recvmsg)
|
||||||
return ath_ops->recvmsg (s, msg, flags);
|
return ath_ops->recvmsg (s, msg, flags);
|
||||||
else
|
else
|
||||||
|
#ifdef HAVE_W32_SYSTEM
|
||||||
|
return -1; /* We don't support this yet. */
|
||||||
|
#else
|
||||||
return recvmsg (s, msg, flags);
|
return recvmsg (s, msg, flags);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,11 @@ stream_seek (gpgme_data_t dh, off_t offset, int whence)
|
|||||||
if (err)
|
if (err)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
#ifdef HAVE_FSEEKO
|
||||||
return ftello (dh->data.stream);
|
return ftello (dh->data.stream);
|
||||||
|
#else
|
||||||
|
return ftell (dh->data.stream);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
148
gpgme/gpgme.def
Normal file
148
gpgme/gpgme.def
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
; gpgme.def - List of symbols to export.
|
||||||
|
; 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
|
||||||
|
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
gpgme_check_version @1
|
||||||
|
gpgme_get_engine_info @2
|
||||||
|
gpgme_engine_check_version @3
|
||||||
|
|
||||||
|
gpgme_err_code_from_errno @4
|
||||||
|
gpgme_err_code_to_errno @5
|
||||||
|
gpgme_err_make_from_errno @6
|
||||||
|
gpgme_error_from_errno @7
|
||||||
|
gpgme_strerror @8
|
||||||
|
gpgme_strerror_r @9
|
||||||
|
gpgme_strsource @10
|
||||||
|
|
||||||
|
gpgme_data_get_encoding @11
|
||||||
|
gpgme_data_new @12
|
||||||
|
gpgme_data_new_from_cbs @13
|
||||||
|
gpgme_data_new_from_fd @14
|
||||||
|
gpgme_data_new_from_file @15
|
||||||
|
gpgme_data_new_from_filepart @16
|
||||||
|
gpgme_data_new_from_mem @17
|
||||||
|
gpgme_data_new_from_stream @18
|
||||||
|
gpgme_data_read @19
|
||||||
|
gpgme_data_release @20
|
||||||
|
gpgme_data_release_and_get_mem @21
|
||||||
|
gpgme_data_seek @22
|
||||||
|
gpgme_data_set_encoding @23
|
||||||
|
gpgme_data_write @24
|
||||||
|
|
||||||
|
gpgme_get_protocol_name @25
|
||||||
|
gpgme_hash_algo_name @26
|
||||||
|
gpgme_pubkey_algo_name @27
|
||||||
|
|
||||||
|
gpgme_new @28
|
||||||
|
gpgme_get_armor @29
|
||||||
|
gpgme_get_include_certs @30
|
||||||
|
gpgme_get_io_cbs @31
|
||||||
|
gpgme_get_keylist_mode @32
|
||||||
|
gpgme_get_passphrase_cb @33
|
||||||
|
gpgme_get_progress_cb @34
|
||||||
|
gpgme_get_protocol @35
|
||||||
|
gpgme_get_textmode @36
|
||||||
|
gpgme_release @37
|
||||||
|
gpgme_set_armor @38
|
||||||
|
gpgme_set_include_certs @39
|
||||||
|
gpgme_set_io_cbs @40
|
||||||
|
gpgme_set_keylist_mode @41
|
||||||
|
gpgme_set_locale @42
|
||||||
|
gpgme_set_passphrase_cb @43
|
||||||
|
gpgme_set_progress_cb @44
|
||||||
|
gpgme_set_protocol @45
|
||||||
|
gpgme_set_textmode @46
|
||||||
|
gpgme_signers_add @47
|
||||||
|
gpgme_signers_clear @48
|
||||||
|
gpgme_signers_enum @49
|
||||||
|
|
||||||
|
gpgme_key_ref @50
|
||||||
|
gpgme_key_unref @51
|
||||||
|
gpgme_key_release @52
|
||||||
|
|
||||||
|
gpgme_trust_item_ref @53
|
||||||
|
gpgme_trust_item_unref @54
|
||||||
|
|
||||||
|
gpgme_cancel @55
|
||||||
|
gpgme_op_card_edit @56
|
||||||
|
gpgme_op_card_edit_start @57
|
||||||
|
gpgme_op_decrypt @58
|
||||||
|
gpgme_op_decrypt_result @59
|
||||||
|
gpgme_op_decrypt_start @60
|
||||||
|
gpgme_op_decrypt_verify @61
|
||||||
|
gpgme_op_decrypt_verify_start @62
|
||||||
|
gpgme_op_delete @63
|
||||||
|
gpgme_op_delete_start @64
|
||||||
|
gpgme_op_edit @65
|
||||||
|
gpgme_op_edit_start @66
|
||||||
|
gpgme_op_encrypt @67
|
||||||
|
gpgme_op_encrypt_result @68
|
||||||
|
gpgme_op_encrypt_sign @69
|
||||||
|
gpgme_op_encrypt_sign_start @70
|
||||||
|
gpgme_op_encrypt_start @71
|
||||||
|
gpgme_op_export @72
|
||||||
|
gpgme_op_export_ext @73
|
||||||
|
gpgme_op_export_ext_start @74
|
||||||
|
gpgme_op_export_start @75
|
||||||
|
gpgme_op_genkey @76
|
||||||
|
gpgme_op_genkey_result @77
|
||||||
|
gpgme_op_genkey_start @78
|
||||||
|
gpgme_get_key @79
|
||||||
|
gpgme_op_import @80
|
||||||
|
gpgme_op_import_result @81
|
||||||
|
gpgme_op_import_start @82
|
||||||
|
gpgme_op_keylist_end @83
|
||||||
|
gpgme_op_keylist_ext_start @84
|
||||||
|
gpgme_op_keylist_next @85
|
||||||
|
gpgme_op_keylist_result @86
|
||||||
|
gpgme_op_keylist_start @87
|
||||||
|
gpgme_op_sign @88
|
||||||
|
gpgme_op_sign_result @89
|
||||||
|
gpgme_op_sign_start @90
|
||||||
|
gpgme_op_trustlist_end @91
|
||||||
|
gpgme_op_trustlist_next @92
|
||||||
|
gpgme_op_trustlist_start @93
|
||||||
|
gpgme_op_verify @94
|
||||||
|
gpgme_op_verify_result @95
|
||||||
|
gpgme_op_verify_start @96
|
||||||
|
gpgme_wait @97
|
||||||
|
|
||||||
|
gpgme_data_new_with_read_cb @98
|
||||||
|
gpgme_data_rewind @99
|
||||||
|
gpgme_get_sig_status @100
|
||||||
|
gpgme_get_sig_string_attr @101
|
||||||
|
gpgme_get_sig_ulong_attr @102
|
||||||
|
gpgme_get_sig_key @103
|
||||||
|
gpgme_key_get_string_attr @104
|
||||||
|
gpgme_key_get_ulong_attr @105
|
||||||
|
gpgme_key_sig_get_string_attr @106
|
||||||
|
gpgme_key_sig_get_ulong_attr @107
|
||||||
|
gpgme_op_import_ext @108
|
||||||
|
gpgme_trust_item_get_int_attr @109
|
||||||
|
gpgme_trust_item_get_string_attr @110
|
||||||
|
gpgme_trust_item_release @111
|
||||||
|
|
||||||
|
gpgme_set_engine_info @112
|
||||||
|
|
||||||
|
gpgme_ctx_get_engine_info @113
|
||||||
|
gpgme_ctx_set_engine_info @114
|
||||||
|
|
||||||
|
; END
|
||||||
|
|
@ -17,6 +17,9 @@
|
|||||||
# License along with this program; if not, write to the Free Software
|
# License along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
# Please remember to add new functions also to gpgme.def
|
||||||
|
#-------------------------------------------------------
|
||||||
|
|
||||||
GPGME_1.1 {
|
GPGME_1.1 {
|
||||||
global:
|
global:
|
||||||
|
@ -32,6 +32,9 @@
|
|||||||
int
|
int
|
||||||
ttyname_r (int fd, char *buf, size_t buflen)
|
ttyname_r (int fd, char *buf, size_t buflen)
|
||||||
{
|
{
|
||||||
|
#if HAVE_W32_SYSTEM
|
||||||
|
errno = ENOTTY; /* The best error code I have under mingw. */
|
||||||
|
#else
|
||||||
char *tty;
|
char *tty;
|
||||||
|
|
||||||
tty = ttyname (fd);
|
tty = ttyname (fd);
|
||||||
@ -41,4 +44,5 @@ ttyname_r (int fd, char *buf, size_t buflen)
|
|||||||
strncpy (buf, tty, buflen);
|
strncpy (buf, tty, buflen);
|
||||||
buf[buflen - 1] = '\0';
|
buf[buflen - 1] = '\0';
|
||||||
return (strlen (tty) >= buflen) ? ERANGE : 0;
|
return (strlen (tty) >= buflen) ? ERANGE : 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
52
gpgme/versioninfo.rc.in
Normal file
52
gpgme/versioninfo.rc.in
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
/* versioninfo.rc.in - for gpgme
|
||||||
|
* Copyright (C) 2005 g10 Code GmbH
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* This file is processed by configure to create versioninfo.rc */
|
||||||
|
|
||||||
|
#line __LINE__ "versioninfo.rc.in"
|
||||||
|
|
||||||
|
#include <afxres.h>
|
||||||
|
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION @BUILD_FILEVERSION@
|
||||||
|
PRODUCTVERSION @BUILD_FILEVERSION@
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x21L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x20L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x40004L
|
||||||
|
FILETYPE 0x1L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Comments", "Provided under the terms of the GNU Lesser General Public License.\0"
|
||||||
|
VALUE "CompanyName", "g10 Code GmbH\0"
|
||||||
|
VALUE "FileDescription", "GPGME - GnuPG Made Easy\0"
|
||||||
|
VALUE "FileVersion", "@VERSION@\0"
|
||||||
|
VALUE "InternalName", "gpgme\0"
|
||||||
|
VALUE "LegalCopyright", "Copyright © 2005 g10 Code GmbH\0"
|
||||||
|
VALUE "LegalTrademarks", "\0"
|
||||||
|
VALUE "OriginalFilename", "gpgme.dll\0"
|
||||||
|
VALUE "PrivateBuild", "\0"
|
||||||
|
VALUE "ProductName", "GPGME\0"
|
||||||
|
VALUE "ProductVersion", "@VERSION@\0"
|
||||||
|
VALUE "SpecialBuild", "@BUILD_TIMESTAMP@\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
Loading…
Reference in New Issue
Block a user