summaryrefslogtreecommitdiffstats
path: root/sm
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2004-12-15 15:15:54 +0100
committerWerner Koch <wk@gnupg.org>2004-12-15 15:15:54 +0100
commit69967b04125e53811182a01d2700984469117339 (patch)
tree3034ccf72b4bb558187f3e1d435a92ec193e093c /sm
parentYep. No lost threads anymore. (diff)
downloadgnupg2-69967b04125e53811182a01d2700984469117339.tar.xz
gnupg2-69967b04125e53811182a01d2700984469117339.zip
A whole bunch of changes to allow building for W32.
Diffstat (limited to 'sm')
-rw-r--r--sm/ChangeLog10
-rw-r--r--sm/Makefile.am8
-rw-r--r--sm/gpgsm.c15
3 files changed, 26 insertions, 7 deletions
diff --git a/sm/ChangeLog b/sm/ChangeLog
index c1e445e4e..096c4ca8e 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,13 @@
+2004-12-15 Werner Koch <wk@g10code.com>
+
+ * misc.c (setup_pinentry_env) [W32]: Don't use it.
+
+ * gpgsm.c (main) [W32]: Init Pth because we need it for the socket
+ operations and to resolve libassuan symbols.
+ (run_protect_tool) [W32]: Disable it.
+
+ * Makefile.am (gpgsm_LDADD): Move LIBASSUAN_LIBS more to the end.
+
2004-12-07 Werner Koch <wk@g10code.com>
* Makefile.am (gpgsm_LDADD): Put libassuan before jnlib because
diff --git a/sm/Makefile.am b/sm/Makefile.am
index ff4524fc7..9136eb920 100644
--- a/sm/Makefile.am
+++ b/sm/Makefile.am
@@ -51,9 +51,9 @@ gpgsm_SOURCES = \
certreqgen.c
-gpgsm_LDADD = $(LIBASSUAN_LIBS) ../jnlib/libjnlib.a ../kbx/libkeybox.a \
- ../common/libcommon.a \
- $(LIBGCRYPT_LIBS) $(KSBA_LIBS) -lgpg-error \
- $(LIBINTL)
+gpgsm_LDADD = ../jnlib/libjnlib.a ../kbx/libkeybox.a \
+ ../common/libcommon.a \
+ $(LIBGCRYPT_LIBS) $(KSBA_LIBS) $(LIBASSUAN_LIBS) -lgpg-error \
+ $(LIBINTL)
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 0feca2608..f79375da7 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -26,6 +26,9 @@
#include <ctype.h>
#include <unistd.h>
#include <fcntl.h>
+#ifdef USE_GNU_PTH
+# include <pth.h>
+#endif
#include "gpgsm.h"
#include <gcrypt.h>
@@ -736,6 +739,11 @@ main ( int argc, char **argv)
NEED_KSBA_VERSION, ksba_check_version (NULL) );
}
+#ifdef HAVE_W32_SYSTEM
+ pth_init ();
+#endif
+
+
gcry_control (GCRYCTL_USE_SECURE_RNDPOOL);
may_coredump = disable_core_dumps ();
@@ -746,7 +754,8 @@ main ( int argc, char **argv)
i18n_init();
opt.def_cipher_algoid = "1.2.840.113549.3.7"; /*des-EDE3-CBC*/
-#ifdef __MINGW32__
+
+#ifdef HAVE_W32_SYSTEM
opt.homedir = read_w32_registry_string ( NULL,
"Software\\GNU\\GnuPG", "HomeDir" );
#else
@@ -1688,7 +1697,7 @@ open_fwrite (const char *filename)
static void
run_protect_tool (int argc, char **argv)
{
-#ifndef _WIN32
+#ifndef HAVE_W32_SYSTEM
const char *pgm;
char **av;
int i;
@@ -1707,6 +1716,6 @@ run_protect_tool (int argc, char **argv)
av[i] = NULL;
execv (pgm, av);
log_error ("error executing `%s': %s\n", pgm, strerror (errno));
-#endif
+#endif /*HAVE_W32_SYSTEM*/
gpgsm_exit (2);
}