Documentation on W32

LRN lrn1986 at gmail.com
Thu Sep 13 18:57:44 CEST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 13.09.2012 10:39, LRN wrote:
> On 13.09.2012 1:21, Nikos Mavrogiannopoulos wrote:
>> On 09/11/2012 09:11 PM, LRN wrote:
> 
>>> Right now building gnutls with documentation on W32 is 
>>> practically impossible: * documentation requires files
>>> generated by autogen, * non-ancient versions of autogen require
>>> guile to work, * guile doesn't work on W32 * ancient versions
>>> of autogen might now work for gnutls, and are very difficult to
>>> build with modern autotools. Is autogen really necessary? Can
>>> these files be pre-generated and shipped in the tarball?
> 
> 
>> The autogen files are pre-generated and shipped in the tarball. 
>> Maybe make considers them old and tries to rebuild them. Which 
>> files have this issue in your system?
> 
> OK, here's what i do: 1) I unpack gnutls-3.0.23.tar.xz 2) I patch
> it (patches are attached; don't take patch 0004 seriously, it's a
> workaround for braindead mingw.org w32api library) 3) in source
> directory: autoreconf -fi 4) in build directory:
> gl_cv_double_slash_root=yes STRIP=true CFLAGS="-g"
> CPPFLAGS="-D__USE_MINGW_ANSI_STDIO=1" ${srcdir}/configure 
> --prefix=/mingw --with-libtasn1-prefix=/mingw 
> --with-libnettle-prefix=/mingw --enable-nls --disable-guile 
> --enable-gtk-doc --with-libiconv-prefix=$/mingw 
> --with-libregex-libs=-lgnurx 5) in build directory: make
> 
> The tail of make output is attached.
> 
> I've also seen problems linking errcodes, where it can't find
> include file gnutls/gnutls.h, but i can't reproduce it at this
> moment. I think i need to remove !WINDOWS exclusion from
> doc/Makefile.am for that.
> 
> 
OK, here's a fixed version of 0006 patch, gnutls compiles with it.
The problem was that *.h glob did not include gnunet.h.in in
lib/includes/gnunet/, it needed gnunet.h, but gnunet.h was generated
in builddir, not in sourcedir. I've explicitly added gnunet.h to the
list that cat feeds to perl script. However, that changed the order in
which file contents are presented (gnunet.h is now at the tail, not in
the middle), so i had to sort both the original file (when diffing
only, obviously) and generated temporary file.
Other fixes were my attempts to fix this, but they don't hurt either.
Apparently, lack of autogen does not prevent everything from building
(to my genuine surprise).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQEcBAEBAgAGBQJQUhCHAAoJEOs4Jb6SI2Cwsq4IAJ1ZbJts3i0iXbic0AVuT2si
Cag5vqkvcuSdda9OZyMHUDaC020zV5fmL/S8cI2mNOhni/MCRzzpxgfPf571eYvF
FQS9ifWqEw65UD9gXh7baklBhH8vKGLgDkMfX4ep6fWUHpDbfKbA8SO6anKWt8fN
HllT6EkF3IeSv/I1egXh15554wJj4OVfHBXF8uQdIEfGJw6y6sM2TedKbwcnkoWv
A6fjJQ1xD0H21Vq+D803bJ981PFzPkSh2wGPpCwgUY7b1FWVBmU9aSrZeBwnMZju
7HBam8AJ6piHoxGtM8DLmBcGwT3cJwK+xfFaNSalz0A5kGk9iG7pzuQyXlh+0Sk=
=kwGj
-----END PGP SIGNATURE-----
-------------- next part --------------
--- gnutls-3.0.23/lib/Makefile.am.orig	2012-09-13 07:41:03 +0400
+++ gnutls-3.0.23/lib/Makefile.am	2012-09-13 07:52:58 +0400
@@ -175,8 +175,8 @@
 endif
 endif
 
-pkix_asn1_tab.c: pkix.asn
-	-asn1Parser pkix.asn pkix_asn1_tab.c
+pkix_asn1_tab.c: $(srcdir)/pkix.asn
+	-asn1Parser $(srcdir)/pkix.asn pkix_asn1_tab.c
 
-gnutls_asn1_tab.c: gnutls.asn
-	-asn1Parser gnutls.asn gnutls_asn1_tab.c
+gnutls_asn1_tab.c: $(srcdir)/gnutls.asn
+	-asn1Parser $(srcdir)/gnutls.asn gnutls_asn1_tab.c
--- gnutls-3.0.23/lib/Makefile.am.orig	2012-09-13 07:54:43 +0400
+++ gnutls-3.0.23/lib/Makefile.am	2012-09-13 08:06:35 +0400
@@ -68,7 +68,9 @@
 	gnutls_auth.c gnutls_v2_compat.c gnutls_datum.c			\
 	gnutls_session_pack.c gnutls_mpi.c gnutls_pk.c gnutls_cert.c	\
 	gnutls_global.c gnutls_constate.c gnutls_anon_cred.c		\
-	pkix_asn1_tab.c gnutls_asn1_tab.c gnutls_mem.c gnutls_ui.c	\
+	$(srcdir)/pkix_asn1_tab.c				\
+	$(srcdir)/gnutls_asn1_tab.c				\
+	gnutls_mem.c gnutls_ui.c					\
 	gnutls_sig.c gnutls_ecc.c gnutls_dh_primes.c gnutls_alert.c	\
 	system.c gnutls_str.c gnutls_state.c gnutls_x509.c		\
 	gnutls_rsa_export.c gnutls_helper.c gnutls_supplemental.c	\
--- gnutls-3.0.23/doc/Makefile.am.orig	2012-09-13 08:27:26 +0400
+++ gnutls-3.0.23/doc/Makefile.am	2012-09-13 08:45:44 +0400
@@ -362,7 +362,7 @@
 
 stamp_enums: enums.texi
 	-mkdir enums
-	$(srcdir)/scripts/split-texi.pl enums enum < enums.texi
+	$(srcdir)/scripts/split-texi.pl enums enum < $(srcdir)/enums.texi
 	echo $@ > $@
 	$(MAKE) compare-makefile
 
@@ -371,7 +371,7 @@
 $(FUNCS): stamp_functions
 
 compare-makefile: enums.texi
-	ENUMS=`grep '^@c ' enums.texi | sed 's/@c //g' | sort`; \
+	ENUMS=`grep '^@c ' $(srcdir)/enums.texi | sed 's/@c //g' | sort`; \
 	STR=""; \
 	for i in $$ENUMS; do \
 		STR="$$STR\nENUMS += enums/$$i"; \
--- gnutls-3.0.23/doc/Makefile.am.orig	2012-09-13 14:11:06 +0400
+++ gnutls-3.0.23/doc/Makefile.am	2012-09-13 16:24:01 +0400
@@ -382,14 +382,14 @@
 		perl -p -e "s,^ENUMS =,ENUMS =$$STR," > tmp-$@; \
 	diff -u $(srcdir)/Makefile.am tmp-$@
 	rm -f tmp-$@
-	FUNCS=`cat $(top_srcdir)/lib/includes/gnutls/*.h | $(top_srcdir)/doc/scripts/getfuncs.pl`; \
+	FUNCS=`cat $(top_srcdir)/lib/includes/gnutls/*.h $(top_builddir)/lib/includes/gnutls/*.h | $(top_srcdir)/doc/scripts/getfuncs.pl`; \
 	MANS=""; \
 	for i in $$FUNCS; do \
 		MANS="$$MANS\nFUNCS += functions/$$i\nFUNCS += functions/$$i.short"; \
 	done; \
-	grep -v -e '^FUNCS += ' Makefile.am | \
-		perl -p -e "s,^FUNCS =,FUNCS =$$MANS," > tmp-$@; \
-	diff -u $(srcdir)/Makefile.am tmp-$@
+	grep -v -e '^FUNCS += ' $(srcdir)/Makefile.am | \
+		perl -p -e "s,^FUNCS =,FUNCS =$$MANS," | sort > tmp-$@; \
+	sort $(srcdir)/Makefile.am | diff -u - tmp-$@
 	rm -f tmp-$@
 
 .PHONY: compare-makefile


More information about the Gnutls-devel mailing list